如果部署(发布)Windows窗体应用程序而不使用ClickOnce选项,是否仍需要将应用程序与.manifest文件一起部署?换句话说,.manifest文件是否需要noneClickOnce安装?
ClickOnce
.manifest
cdmah0mi1#
XP之前的Windows:
不需要清单。XP之前的Windows版本将像以前一样执行此exe文件以查找相应的dll。没有单独的Manifest,它只是一个冗余的文件或资源,dll文件将直接在system32目录中搜索并调用。
WIN7以后版本:
需要清单。由于程序打包生成的清单是您包含的DLL资源列表,因此当程序执行时,它将首先搜索此文件以查找相应的DLL。当你移植到另一台计算机上时,程序搜索这个文件,但是没有找到相应的DLL(这里的DLL包含了你的开发环境中使用的DLL,但是对程序的执行没有影响),就会报错,所以你删除它,你会发现程序可以执行,但是这样做会造成严重的问题。建议您选择在编译时生成所有DLL(静态使用DLL而不是共享DLL)。
1条答案
按热度按时间cdmah0mi1#
XP之前的Windows:
不需要清单。XP之前的Windows版本将像以前一样执行此exe文件以查找相应的dll。没有单独的Manifest,它只是一个冗余的文件或资源,dll文件将直接在system32目录中搜索并调用。
WIN7以后版本:
需要清单。由于程序打包生成的清单是您包含的DLL资源列表,因此当程序执行时,它将首先搜索此文件以查找相应的DLL。当你移植到另一台计算机上时,程序搜索这个文件,但是没有找到相应的DLL(这里的DLL包含了你的开发环境中使用的DLL,但是对程序的执行没有影响),就会报错,所以你删除它,你会发现程序可以执行,但是这样做会造成严重的问题。建议您选择在编译时生成所有DLL(静态使用DLL而不是共享DLL)。