2014-10-01 203 views
1

我正在嘗試使用適用於應用程序的WiX MSI安裝程序捆綁演示項目。我的目標是創建一個「Projects」文件夾,其中包含用戶的Documents目錄中的「Demo Project」文件夾。WiX MSI:使用安裝程序捆綁演示項目

由於我的安裝範圍是「perMachine」將文件添加到用戶目錄會導致以下錯誤的每個文件:

It must use a registry key under HKCU as its KeyPath, not a file 

我可以通過添加RegistryValue元素來解決這個錯誤每個組件,但在演示項目至少有1000個文件。

我正在考慮爲演示項目創建另一個安裝程序,該安裝程序將具有「perUser」安裝範圍,然後將其捆綁到WiX引導程序中。唯一的缺點是它感覺像一個黑客。

當爲應用程序安裝補充材料時,推薦的方法是什麼?我應該建立另一個安裝程序還是有一個WiX擴展程序,允許我將文件複製到用戶的文檔目錄?

回答

2

因爲它是一個演示項目,對您的應用程序並不重要,所以一種方法是將其壓縮並將該單個zip文件作爲組件。在每個文件組件中演示項目的潛在問題是用戶將以某種方式開始擺弄演示,並最終提示Windows Installer進行修復。如果項目是客戶使用開發工具打開並開始更改的情況,則尤其如此。您不希望與修復程序的演示交互影響正在運行的應用程序。

沒有將文件複製到用戶文件夾的WiX或MSI方式,因爲這實際上是註冊表項路徑的用途。它還具有爲尚未創建的用戶帳戶工作的優勢。當其他用戶登錄並使用應用程序時,Windows會通知該用戶缺少密鑰路徑,並提示從原始安裝源安裝密鑰路徑組件(文件)。

+0

我喜歡壓縮文件的想法。它會減少有關演示無法正常工作的支持請求......因爲用戶改變了它。 (過去,我已經將演示安裝在只讀位置。)重置回原始示例,重新啓動成功路徑。 (當然,源代碼控制也可以。) – 2014-10-02 01:04:58

+0

感謝PhilDW的反饋。我今天早些時候注意到,WiX允許在安裝包後執行命令。也許我可以將zip與應用程序捆綁在一起,然後將其解壓到用戶的Documents目錄中。這可能會消除必須處理註冊表。 – MrMcKizzle 2014-10-02 03:48:50

相關問題