我有一個具有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