使用visual studio 2017 installer制作打包程序時如果用到了外部控件需要按以下方式操作:
1.將應用程序及應用程序所用到的所有DLL拷貝到打包目錄,加入打包程序之中。
2.將應用程序的XXX.dll或XXX.ocx的Register設置為vsdrfDoNotRegister,即不注冊。(這樣上述問題,就可以解決)
如下圖1
圖1
但是如果有應用程序的XXX.dll或XXX.ocx需要COM注冊的話,就需要單獨設置XXX.dll或XXX.ocx的Register由vsdrfDoNotRegister改為vsdrfCOMSelfReg,
這樣設置后在安裝程序時即可自動注冊第三方控件,卸載時也會自動卸載。
使用這種方式安裝時可能會報錯:未能注冊模塊XXX.dll或XXX.ocx。HRESULT -2147024769。請與您的技術支持人員聯系。
對於這種情況,首先手工注冊該目錄中的XXX.dll或XXX.ocx看是否報錯(一般安裝報錯時手工注冊也會有問題)。手工注冊時對於目錄中有空格的情況要將整個路徑名用引號括起來。
如果報錯就檢查是否有關聯的DLL沒有一起包含進來,只要能保證手工注冊時不出錯,安裝就可以通過了。
應用程序的XXX.dll或XXX.ocx需要COM注冊的,參考鏈接:https://www.cnblogs.com/dragonwlb/p/3452337.html