海狸蜀黍 發表於 2025-4-17 18:06:00

vs2022 打包msi 程序

<p>最近项目碰到一个工具使用的问题</p>
<p>有一个获取第三方数据库的 c# winform 工具程序</p>
<p>&nbsp;</p>
<p>因为是一个小工具:以往会直接把这个 程序 使用release 发布的exe 代码文件 直接给到项目人员,直接运行即可</p>
<p>这次 这个客户环境 因为一些特殊情况,无法直接运行,后来查了一下是缺少相关的依赖,因为release 里的 依赖 没有给全。</p>
<p>出于运维的便捷性和减少项目使用的问题频率,决定把这部分代码 打包成msi 的安装程序,这样就可以避免依赖不全的问题。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>一、安装必要扩展</h3>
<ol>
<li style="list-style-type: none"><ol>
<li>·​​安装Microsoft Visual Studio Installer Projects 2022​​</li>
</ol>
<ul>
<li style="list-style-type: none">
<ul>
<li>打开VS2022 → ​​扩展​​ → ​​管理扩展​​ → ​​联机​​ → 搜索并安  装该扩展</li>
<li><em>备选方案</em>:手动从<span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link__content">Visual Studio Marketplace下载<code>.vsix</code>文件双击安装</span></span></span></span>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417175929881-490466169.png"></p>
<p>&nbsp;</p>
</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3>二、创建Setup Project项目</h3>
<ol><ol>
<li>
<p>​​新建Setup Project​​</p>
<ul>
<li>右键解决方案 → ​​添加​​ → ​​新建项目​​ → 搜索或导航至:<br>​​其他项目类型​​ → ​​Setup and Deployment​​ → ​​Visual Studio Installer​​ → ​​Setup Project​​</li>
<li>命名项目(如<code>MyAppSetup</code>),路径建议与主项目同级目录</li>

</ul>

</li>
<li>
<p>​​配置安装内容​​</p>
<ul>
<li>​​添加主输出文件​​:<br>右键 ​​Application Folder​​ → ​​Add​​ → ​​Project Output​​ → 选择主项目的 ​​Primary Output​​</li>
<li>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180208681-241736459.png"></p>
<p>&nbsp;</p>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180247745-514304976.png"></p>
<p>&nbsp;</p>
</li>
<li>​​添加依赖文件​​:<br>若项目依赖第三方库或资源文件,右键 ​​Application Folder​​ → ​​Add​​ → ​​File​​,手动添加<code>bin/Release</code>或<code>bin/Debug</code>目录下的所有文件</li>
<li>​​快捷方式​​:
<ul>
<li>右键主输出文件 → ​​Create Shortcut​​ → 重命名快捷方式并拖拽至 ​​User's Desktop​​(桌面)和 ​​User's Programs Menu​​(开始菜单)</li>
<li>图标设置:在快捷方式属性中指定<code>.ico</code>文件(需先添加到 ​​Application Folder​​)</li>
<li>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180551975-1930813475.png"></p>
<p>&nbsp;</p>
</li>

</ul>

</li>

</ul>

</li>

</ol></ol><br><br>
来源:https://www.cnblogs.com/jayblog/p/18831367
頁: [1]
查看完整版本: vs2022 打包msi 程序