c# vs2019 winform打包记录
第一步:vs2019安装Microsoft Visual Studio Installer Projects
离线下载(Microsoft Visual Studio Installer Projects)
第二步 在项目解决方案下新建项目
第三步:把winform项目debug下所有文件放到Application Folder目录下(注意默认debug下的文件夹只能手动添加,再次注意文件夹下一定要放文件不然打包后安装不会生成对应的文件夹的)
右键Application Folder,选择Add——》文件——》选择debug下所有, 最后点击确定
第四步:添加桌面安装图标
右键Application Folder,选择Add——》项目(选择你的winform项目)输出——》主输出, 最后点击确定
默认会添加一个output类型文件
右键点击Create Shortcut to 主输出form 你的项目(Active),创建一个快捷方式,修改快捷方式名称为 XXXX;类型shortcut
将快捷方式XXXX 拖 到 User‘s Desktop中,选中右键属中窗口
注(icon图标必需放到Application Folder目录下指定的文件夹下面才能找到的)
第四步:添加个卸载程序
Application Folder右键→add→文件→在打开(C:\Windows\System32下)中搜索“msiexec.exe”,点击打开
同样右键点击Create Shortcut to msiexec.exe,创建一个快捷方式,修改快捷方式名称为 Uninstall.exe(或XXXX卸载);拖到User‘s Desktop中,类型shortcut
注意要绑定对应Setup属性的ProductCode 值(是选中找属性不是右键属性)
在User‘s Desktop中,选中你添加的Uninstall.exe(或XXXX卸载) 右键属性窗口
/x + 空格 + ProductCode
第五步:最重要的(生成后exe安装默认依赖安装包离线自动安装)
项目右键属性
默认生成Setup项目会报错
要在“系统必备”对话框中启用“从与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1 (x86 和 x64)”项的文件“DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-CHS.exe”下载到本地计算机。有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=616018
要在“系统必备”对话框中启用“从与我的应用程序相同的位置下载系统必备组件”,必须将“Microsoft .NET Framework 4.6.1 (x86 和 x64)”项的文件“DotNetFX461\NDP461-KB3102436-x86-x64-AllOS-ENU.exe”下载到本地计算机。有关详细信息,请参见 http://go.microsoft.com/fwlink/?LinkId=616018
缺少的文件下载地址:
Microsoft .NET Framework 4.6.1 Final 本地离线安装包
http://download.microsoft.com/download/E/4/1/E4173890-A24A-4936-9FC9-AF930FE3FA40/NDP461-KB3102436-x86-x64-AllOS-ENU.exe
Microsoft .NET Framework 4.6.1 Final 简体中文语言包
http://download.microsoft.com/download/A/7/8/A780698F-ECCC-4356-B50B-5358D837646B/NDP461-KB3102436-x86-x64-AllOS-CHS.exe
将缺少的程序复制到目录“C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX461”
第六步:修改默认安装路径
选中Application Folder ——>右键
第七步:查看启动条件(可修改这个一般在线安装)
最后生成
注(有错误就多试几次)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App