使用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
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2017anzhuangwenti/2020/0725/4079.html