1

我有一個我爲我們公司編寫的大型MDI套件應用程序。它安裝在兩臺Citrix服務器上,然後由整個工廠的數百個Windows終端訪問。如何安裝MyProgram的多個版本(同一臺PC,VS2008)?

在安裝更新之前,我(唯一的開發人員)測試我的新例程,直到我確信它將執行我期望的操作。這一般起作用,但它讓團隊經理擔心。

他希望我安裝可在其他人員工作環境中測試的BETA版本。要做到這一點,我需要在Citrix服務器上安裝我的應用程序兩次,以便我們的員工可以測試它(對不對?)。但是,當我嘗試在同一臺PC(即Citrix服務器)上再次安裝應用程序時,Windows說它已經安裝。

VS2008安裝和部署安裝程序有一個產品代碼。我應該改變這個嗎?我需要注意哪些問題?我是否需要跟蹤兩個產品代碼(一個用於測試,另一個用於發佈)?

如何在1臺PC上安裝同一應用程序的2個工作版本?

回答

1

由於您想允許雙重安裝應該工作。我會製作一個新的「測試版」安裝程序,它可能會針對不同的安裝目錄將流失降至最低。

這是MSDN write up on changing Product Code瞭解更多信息。

另一個可能的角度,可能會更簡單.....是否有一個測試/登臺Citrix服務器,您可以託管它?這就是我們在這裏推出改變的方式。但這最終取決於您的Citrix環境/服務器在農場中......

哦,並且根據我的經驗(對或錯)跟蹤產品代碼,這不像確保您保留您的UpgradeCode是同步的。

3

最安全的方法是創建新的ProductCode,新的UpgradeCode,新的TARGETDIR並確保沒有共享目錄(除了系統目錄)。使Windows Installer認爲它是完全不同的產品。

更改ProductCode,但不是UpgradeCode可能導致現有組件升級。當安裝運行FindRelatedProducts操作時,它將查找與匹配的升級代碼相同的任何內容,並嘗試升級匹配的組件。

我強烈同意cutrisk - 階段整個事情別的地方第(安裝發佈的版本,升級到BETA,打開它進行內部測試等),然後小心地出來給客戶。

相信我,您不希望您的安裝程序因爲您的測試版「升級」某些組件和整個系統而失敗而導致某人失去生產服務。

1

我給測試.exe一個不同的名稱:app_beta.exe。您可以使用相同的設置來部署它。您也可以繼續使用beta或prod版本的每個版本更改升級代碼 - 它們可以重疊。

prod:2。0

的β:2.1

的β:2.2

PROD更新:2.3

下測試:2.4

+0

哈其他人試過這個嗎?目前,我的應用程序讀取和寫入App Data文件夾的各種設置。此外,它還使用該公司的SQL Server進行數據訪問。只是改變產品名稱就是IT人員認爲會起作用的東西,但這並不會改變所有這一切,並且(在我看來)不會改變它是否可行。 – jp2code 2009-08-23 18:42:06

+1

我傾向於認爲如果他們想要一個真正的調試/測試環境,我需要一個Citrix服務器和SQL服務器以與我們現有的Citrix/SQL服務器設置相同的方式進行設置,因爲如果必須進行30或40次更改我的代碼只是爲了在我們現有的環境中使用實時數據庫進行測試......那麼,測試的目的是什麼?然後,我需要測試我的發佈版本,以確保我已經取消了我所做的30或40個更改,以便我可以調試該應用程序。 – jp2code 2009-08-23 18:42:47

+0

當然,理想情況下你會有一個專門的測試環境,但很多地方不會那麼遠。如果需要(如果需要,還可以使用第三個數據庫),並且可以在代碼中使用條件編譯變量來分隔dev/test/prod或分支與源代碼工具,那麼可以使用第二個數據庫進行測試。 – Beth 2009-08-24 14:58:49

相關問題