代码之家  ›  专栏  ›  技术社区  ›  madlan

沙箱应用

  •  0
  • madlan  · 技术社区  · 14 年前

    我有一个应用程序(作为服务安装)有5个不同的版本。为了测试,我需要安装全部5个。目前我必须卸载应用程序并重新安装所需的版本。

    应用程序有一个单独的exe(在Program Files\app中)以及一些包含其设置的XML文件。这是通过MSI文件安装的。每个版本都具有相同的文件\服务名,并在安装之前检查以前的版本。

    有没有同时运行所有五个版本的方法?

    4 回复  |  直到 14 年前
        1
  •  1
  •   Soonts    14 年前

    首先,我假设您是开发人员,而不是QA人员。QA需要使用虚拟机,或者仅仅使用5台独立的PC。我所描述的是一个肮脏的黑客程序,这可能会节省您一些时间。

    将版本1安装到 C:\program files\YourApp_1

    发射 services.msc ,停止服务,将启动类型更改为手动。

    发射 regedit.exe .

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 键,找到服务的键,重命名服务:同时更改键名和“displayname”值,并为简化您的生活,将一些有意义的内容写入“description”值,例如“myapp 1.0-这是引用版本”。

    如果安装程序在安装之前检查了一些其他键(例如 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\YourApp ,移除它们。如果您不知道这些键-使用sysinternals processmonitor获取它们(将filter设置为instmsiw.exe或其他内容,然后启动安装程序,等待“找到prevoius版本”消息,将alt选项卡设置为processmonitor,停止日志记录,并从下到上读取日志)。

    现在将版本2安装到 C:\program files\YourApp_2 ,重复该过程。

    最后,要切换版本,只需启动 服务业硕士 ,停止当前运行的版本,启动另一个版本。或使用 net start / net stop 命令行命令。或者什么。

    附笔。 警告 如果使用注册表编辑器或其他方法错误地修改注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统。微软不能保证这些问题能够得到解决。修改注册表的风险由您自己承担。

        2
  •  1
  •   Caladain    14 年前

    虽然这是一个更严重的故障类型的问题:

    http://www.microsoft.com/windows/virtual-pc/

    你的答案是:—)

        3
  •  1
  •   Starkey    14 年前

    对5个不同版本中的每个版本都使用虚拟机。

    vmware player是免费的: http://www.vmware.com/products/player/

        4
  •  0
  •   leoluk    14 年前

    使用 VirtualBox .

    创建一个测试系统,配置它,然后克隆5次(您必须使用 vboxmanage )并在每个组件上安装一个版本。

    如果不是服务,我建议使用sandboxie,但我怀疑sandboxie可以处理服务。