我有一个具有5个不同版本的应用程序(作为服务安装)。为了测试,我需要安装全部5个。目前我必须卸载应用程序并重新安装所需的版本。沙盒应用程序
该应用程序沿着一些包含它的设置的xml文件有一个exe文件(在Program Files \ App中)。这是通过MSI文件安装的。每个版本都具有相同的文件\服务名称,并在安装之前检查以前的版本。
任何想法在同时运行所有五个版本的方式?
我有一个具有5个不同版本的应用程序(作为服务安装)。为了测试,我需要安装全部5个。目前我必须卸载应用程序并重新安装所需的版本。沙盒应用程序
该应用程序沿着一些包含它的设置的xml文件有一个exe文件(在Program Files \ App中)。这是通过MSI文件安装的。每个版本都具有相同的文件\服务名称,并在安装之前检查以前的版本。
任何想法在同时运行所有五个版本的方式?
首先,我假设你是开发人员,而不是质量保证人员。 QA需要使用虚拟机,或者仅使用5台独立的PC。我所描述的是一种肮脏的黑客,可能会为你节省一些时间。
安装版本#1〜C:\program files\YourApp_1
启动services.msc
,停止服务,启动类型更改为手动。
启动regedit.exe
。
转到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
键,为您的服务找到关键字,重命名服务:更改键名和“DisplayName”值,并简化您的生活,为“描述”值写入有意义的内容。 “MyApp 1.0 - 这是参考版本”。
如果安装程序在安装之前检查了其他某些键(可能是例如HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourApp
),请将其删除。如果您不知道这些密钥 - 使用SysInternals ProcessMonitor来获取它们(将过滤器设置为instmsiw.exe或其他内容,然后启动安装程序,等待“找到prevoius版本”消息,再到ProcessMonitor的alt-tab,停止日志从底部到顶部)
现在安装版本2到C:\program files\YourApp_2
,重复此过程。
最后,要切换版本,您只需启动services.msc
,停止当前运行的版本,启动另一个版本。或者使用net start
/net stop
命令行命令。管他呢。
P.S. 警告如果使用注册表编辑器或使用其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要您重新安装操作系统。 Microsoft不能保证可以解决这些问题。修改注册表需要您自担风险。
伟大的解决方案 - 谢谢的字体 – madlan 2010-08-31 22:06:19
供贵公司5个不同版本的虚拟机。
VMWare的球员是自由的:http://www.vmware.com/products/player/
使用VirtualBox。
创建一个测试系统,配置它,然后克隆它5次(您将不得不使用vboxmanage
),并在它们中的每一个上安装一个版本。
如果不是服务,我曾建议Sandboxie,但我怀疑Sandboxie可以处理服务。
每个已知虚拟器的答案:-) – leoluk 2010-08-24 21:55:44