1

我已經創建了一個winforms應用程序以及該應用程序的設置和部署項目(VS 2010)。用戶選擇安裝文件夾後運行條件檢查

所有我需要的是這樣的:

當用戶運行MSI,他選擇我要檢查應用程序的主執行該文件夾中已經存在的安裝文件夾之後。在這種情況下,我想中斷安裝並提示用戶卸載現有應用程序或選擇其他文件夾。

我想,如果可能,不要使用任何自定義安裝程序操作。起初,啓動條件(使用文件搜索)似乎是正確的方式,但似乎啓動條件(因爲它們是'啓動')在msi執行開始時運行,而不是在文件夾選取之後運行。

回答

2

Visual Studio安裝和部署項目不支持這種類型的創作。這是Microsoft從Visual Studio 2012中刪除該項目類型的許多原因之一。

使用此工具的唯一方法是構建MSI,然後使用ORCA創建一個創建驗證自定義操作的轉換,然後作爲選通控制事件將其安排到UI中。然後,您可以編寫一個postbuild腳本,在每次構建MSI時將轉換應用到MSI。

非常先進的東西,並坦率地不值得的努力。切換到支持此功能的工具(如Windows安裝程序XML(FOSS)或InstallShield 2012 Professional)會更有好處。 ($$)

+0

謝謝,這很有幫助。 因爲我想要快速骯髒的東西,我最終最終使用.NET安裝程序類作爲自定義操作來檢查特定文件夾。 此安裝程序n部署項目也是有問題的。它不斷丟失所有的項目依賴關係,我不得不每次重新配置dll及其目標路徑... –

+0

關於Advanced Installer,您有何看法? –

相關問題