我有一个有5个不同版本的应用程序(已安装为服务)。为了测试我需要安装所有5个。目前,我必须卸载该应用程序并重新安装所需的版本。
应用程序在一个包含它的设置的xml文件中有一个exe(在Program Files \ App中)。这是通过MSI文件安装的。每个版本都具有相同的文件\服务名称,并在安装之前检查以前的版本。
关于同时运行所有五个版本的方法的任何想法?
答案 0 :(得分:1)
答案 1 :(得分:1)
为5个不同版本中的每个版本使用虚拟机。
VMWare播放器是免费的:http://www.vmware.com/products/player/
答案 2 :(得分:1)
首先,我假设您是开发人员,而不是QA人员。 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版本”消息,alt-tab到ProcessMonitor,停止记录,并从底部到顶部读取日志)
现在将版本#2安装到C:\program files\YourApp_2
,重复此过程。
最后,要切换版本,您只需要启动services.msc
,停止当前正在运行的版本,启动另一个版本。或者使用net start
/ net stop
命令行命令。或者其他什么。
P.S。 警告如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要您重新安装操作系统。微软无法保证可以解决这些问题。修改注册表需要您自担风险。
答案 3 :(得分:0)
使用VirtualBox。
创建一个测试系统,对其进行配置,然后将其克隆5次(您必须使用vboxmanage
),并在每个测试系统上安装一个版本。
如果它不是服务,我建议Sandboxie,但我怀疑Sandboxie可以处理服务。