2011-11-07 44 views
0

因此,我們已經在Win XP和Win 7機器上安裝了這個32位軟件包。Wix heat.exe在Windows 7 32位應用程序中爲上下文菜單DLL生成不正確的片段

我正在看的當前問題是,在安裝部分軟件包時,會寫入註冊表值來將軟件包中的可執行文件添加到Windows上下文菜單中。這些註冊表值是由來自作爲進程一部分的dll(即可執行文件的dll)熱量生成的wix片段的一部分。

問題是,雖然它在windows xp嵌入式上工作,但在Windows 7上,應用程序不僅不會顯示在上下文菜單中,還會破壞某些內容,以便從所有上下文中刪除「新建文件夾」選項菜單。卸載應用程序不起作用,但可以通過從本網站添加註冊表設置來解決問題:http://social.technet.microsoft.com/Forums/en-IE/w7itprogeneral/thread/97de8a2a-12f2-4381-a409-a78f4ae551cf

當然,當您安裝新版本時,它會再次被刪除,而作爲開發人員,重新安裝和卸載5-6建立一天。我已經通過從安裝程序中刪除它們並構建並安裝它,確認了這些特定的註冊表設置,並且「新建文件夾」選項可以愉快地保留它的位置。

所以我的問題是:是否有生成有效的註冊表值的問題,寫一個32位應用程序/ DLL要添加到Windows 7的上下文菜單? (爲了完整的披露,我使用的是win7 64位,但我們在win7 32位上也有同樣的問題,但我們還沒有嘗試vista)

回答

0

Heat只是捕獲在DllRegisterServer ()調用。如果您沒有獲得您期望的註冊表項,請查看DllRegisterServer()代碼以查看它正在執行的操作。此外,您可能會發現一次捕獲註冊表項更有用,驗證它們是否正確,然後不再使用heat.exe。

這是我的首選方法。

相關問題