我正在使用WiX來安裝64位應用程序。我已經想通了如何使64 bit installer,但我有搞清楚如何註冊我的DLL麻煩我安裝,所以我沒有得到如何使用WiX手動註冊64位DLL
"Program can't start because XXXX.dll is missing from your computer.
Try reinstalling the program to fix this problem"
錯誤。
我試過使用heat.exe
創建必要的RegistryValue
標記,但它與64位DLL不兼容。我編譯了一些32位的DLL(不是所有的32位都可用),但我仍然無法使heat.exe
工作。看看this WiX help article似乎我應該可以手動編寫RegistryValue
標記,但我對它們應包含的內容感到困惑。我一直在看例子here,它比WiX文章中的更復雜。
什麼RegistryValue
標籤我需要註冊一個DLL的操作系統,所以它可以在PATH找到?
編輯:其他上下文。
我想安裝一個SDK和一些示例源代碼。我將SDK(DLLs,.libs和頭文件)放在\ Program Files文件夾中,我將示例源代碼放在桌面上的一個文件夾中。我有%LIBPATH%上的lib目錄,%INCLUDE%上的包含目錄以及%PATH%上的bin(DLL)目錄。
然後,我在桌面上有一個VS解決方案示例代碼的文件夾。在解決方案中,我在VS項目的Additional Library Directories
和Additional Include Directories
字段中指定了%LIBPATH%和%INCLUDE%。這工作正常,解決方案將建立。但是當我嘗試運行它時,出現「計算機中缺少DLL」錯誤。我想弄清楚如何找到SDK DLL(無論是否在%PATH%),以便用戶可以簡單地構建和運行演示代碼,而無需複製DLL,並且相同對於他們構建的任何其他應用程序都是如此。
編輯2:我投票結束這個問題。似乎使用WiX註冊DLL與我的實際問題無關。
您可以簡單地將'SelfRegCost =「1」'添加到每個DLL的['File'](http://wixtoolset.org/documentation/manual/v3/xsd/wix/file.html)元素中。 – zett42
我試過了,註冊失敗。此外,它似乎是[不是最佳實踐](http://stackoverflow.com/questions/364187/how-do-you-register-a-win32-com-dll-file-in-wix-3) 。 – stranger