vs2019打包发布c#编写的exe应用

由于该应用还要引用其它的exe应用,所以

.NET Framework 4.6.2 脱机安装程序Windows - Microsoft 支持

参考下面的配置即可

VS2019如何打包程序_vs2019 打包_咻咻咻...的博客-CSDN博客https://blog.csdn.net/qq_37043193/article/details/119530253?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168870034816800225531551%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168870034816800225531551&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-119530253-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=vs2019%E6%89%93%E5%8C%85%E5%BA%94%E7%94%A8&spm=1018.2226.3001.4187但是这样打出来的程序默认是安装.netframeword4.7.2的,这样在老系统如win7,win8上面无示安装4.7.2,于是要改一下后缀为.vdproj的工程文件 xxxx.vdproj,找到4.7.2的关键字段,

   "ExternalPersistence"
        {
            "LaunchCondition"
            {
                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BD012988152148B1AA693CBABC5773D8"
                {
                "Name" = "8:.NET Framework"
                "Message" = "8:[VSDNETMSG]"
                "FrameworkVersion" = "8:.NETFramework,Version=v4.7.2"
                "AllowLaterVersions" = "11:FALSE"
                "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=863262"
                }
            }
        }

 替换为

"LaunchCondition"
            {
                "{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_BD012988152148B1AA693CBABC5773D8"
                {
                "Name" = "8:.NET Framework"
                "Message" = "8:[VSDNETMSG]"
                "FrameworkVersion" = "8:.NETFramework,Version=v4.6.2"
                "AllowLaterVersions" = "11:FALSE"
                "InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=780600"
                }
            }

然后重新生成即可。如果安装包在安装过程中报注册xxx的错时,要检查一下加入的文件中的dll的register项,一定要为vsdrfDoNotRegister

 工程的一些对应关系

 添加文件路径为C:\Windows\System32\msiexec.exe文件,添加后为它创建快捷方式,选择第3步创建的新项目,找到其ProductCode属性和ProductName属性,把ProductCode的值复制粘贴到此快捷方式的Arguments属性(格式为:/x +ProductCode的值),再把ProductName的属性值改为User's Programs Menu下新建的文件夹名称,最后把快捷方式拖拽到此文件夹中改名为卸载XXX应用。

最后,这里要注意一下,你的平台是啥,如果是x86那么dll,exe都应是32位的,如果是x64可能会放宽些要求 

猜你喜欢

转载自blog.csdn.net/babytiger/article/details/131593904
今日推荐