2013-10-16 19 views
0

我正在使用InstallShield 2012 Spring中的安裝程序。如何構建適用於.NET的InstallShield「任何CPU」應用程序

安裝程序適用於.NET構建的應用程序,構建爲「任何CPU」,這意味着它在32位計算機上運行32位,在64位計算機上運行64位。

我假設這意味着應用程序應該總是安裝到Program Files文件夾,而不是Program Files(x86)文件夾。我找不到將應用程序安裝到64位Program Files文件夾而不使安裝程序在32位版本的Windows上不可用的方法。

我試着簡單地將ProgramFilesFolder的安裝路徑更改爲ProgramFiles64Folder,但是除非將組件設置爲64位並將安裝程序設置爲x64,否則這將執行任何操作。 (因此使安裝程序64位只有

任何想法如何使安裝程序永遠不會安裝到(x86)文件夾或我SOL?

回答

1

Windows安裝程序不支持「任何CPU」。 MSI必須標記爲x86或x64,並且只能分別使用ProgramFilesFolder和ProgramFiles64Folder。即使您嘗試手動設置目標目錄的自定義操作,Windows Installer服務也會攔截該路徑並將其推回,前提是您的MSI寫得不好,並強制執行兼容性。

但它並不重要。您的任何CPU編譯生活在PF 32位文件夾中的EXE仍將作爲64位應用程序運行。

如果真的讓你困惑不已,你可以在我提到的那個自定義操作中使用一個簡短的目錄名(C:\ Progra〜1),並且可以顛覆MSI爲你提供幫助的企圖。

相關問題