WinForm 应用程序的打包和部署_简单版(图文)

简介: 另附一个地址,可供参考,讲解的比较详细:http://www.cnblogs.com/scottckt/archive/2011/05/14/2046313.html开发好了一个 WinForm 系统,如何使之可以平稳的运行在没有安装 .NET Framework 的操作系统上?这就涉及到打包和部署的内容,通过打包和部署形成安装程序,实现 WinForm 应用软件正常的安装在客户的操作系统上。

另附一个地址,可供参考,讲解的比较详细:http://www.cnblogs.com/scottckt/archive/2011/05/14/2046313.html

开发好了一个 WinForm 系统,如何使之可以平稳的运行在没有安装 .NET Framework 的操作系统上?这就涉及到打包和部署的内容,通过打包和部署形成安装程序,实现 WinForm 应用软件正常的安装在客户的操作系统上。另一方面同时需要考虑通过打包和部署形成卸载程序,将该应用软件卸载掉,达到方便客户使用的目的。

 

(一) 创建部署项目

  1. 在 VS 环境下,单击“文件” → “新建” → “项目”,打开“新建项目”对话框,从“项目类型”列表中选择“安装和部署项目”,在对话框右边的“模板”列表中选择所需的部署项目类型。
    1

  2. 可用于 Winform 应用程序的模板的说明

    项目类型

    说 明

    安装项目

    用于为 Winform 应用程序创建安装程序

    Web 安装项目

    Visual Studio.NET 还支持在 Web 服务器上部署。使用此方法在 Web 服务器上安装文件将自动处理与注册和配置相关的问题

    合并模块项目

    可以由多个应用程序共享的程序包和组件。例如,如果应用程序有五个实用程序文件,则可以将它们打包到一个合并模块项目中,然后合并到任何应用程序中

    安装向导

    它是一个向导,指导用户快速完成创建安装程序的步骤。可以自定义安装向导,以便在安装期间添加更多文件或练习更多控件

    Cab 项目

    生成用于下载到 Web 浏览器的 Cab 文件


  3. 在选择了“安装项目”后,点击确定,将进入到安装系统文件的配置界面中
    1
    鼠标左键点击“应用程序文件夹”,在打开的右侧界面中单击鼠标右键,在弹出的快捷菜单中选择“添加”->“文件”,在打开的文件选择界面中,添加某文件夹中具体的文件,这类文件主要包括两种:.EXE 文件或者是 .dll 文件。一般而言,一个 C# WinForm 应用程序在 Visual Studio2005 平台下开发的时候,会自动将这两种文件生成在你的 WinForm 应用程序所在目录下的 bin 文件夹里面的 Debug 子文件夹下面,其中 .EXE 为可执行文件,而 .dll 文件的来源多是用户自定义编辑的类库文件,或者是第三方的动态链接库文件,如果你的项目之中存在上述两种情况,那么请你务必将这些文件一并作为打包文件放进来。其实一个比较简单的办法就是,将你的Winform应用程序所在目录下的bin文件夹里面的Debug子文件夹下面的所有文件全部取来即可。如果你的项目中有图片或者其他多媒体文件,请你也一并将之选中,放在文件里面。
    1
    鼠标右键单击“应用程序文件夹”,选择属性窗口,在弹出的属性窗口中将“defaultlocation”属性路径中的"[manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是“c:\programm file\你的用户名\安装解决方案称”。

  4. 于右侧栏目单击鼠标右键,添加“文件夹”,并为该文件夹取名为 img ,如图8-7所示。该 img 文件夹存储系统的所有图片文件,为启动和卸载文件分别增加快捷图像做前期准备,类型必须为 .ICO 文件(图标文件)。
    1 
    在点击左侧新建的img文件夹, 于右侧栏目单击鼠标右键,添加“文件”,从你的磁盘中选择两个.ICO文件(图标文件)放置其中即可。
    1

  5. 本步骤对于卸载软件系统至关重要,如果不添加将无法形成卸载你已经安装的文件。再次于右侧栏目单击鼠标右键,添加“文件”,请在 c:\windows\system32 文件夹下找寻一个叫 msiexec.exe 的文件,并将之添加到应用程序文件夹下面。该文件将负责执行卸载你安装的软件。

  6. 本步骤将在应用程序文件中增加系统 .Net FrameWork 组件,如果不进行这一步,对于没有安装 .Net FrameWork 组件的操作系统,即便安装了您的应用软件,该系统也无法运行。打开解决方案管理器,右击你的项目名称,选择属性:在打开的属性页中,选择“系统必备”。将 .Net FrameWork3.5 组件包和 Windows Installer3.1 组件包一并选中。
    1

  7. 至此,我们完成了对应用程序夹中全部文件的添加工作。接着开始配置左侧导航条中的“用户的程序菜单”。该菜单将出现在操作系统“开始”栏目的“程序”里面。因此建议以文件夹形式出现,里面包含执行程序和卸载程序两个可执行文件的快捷方式文件。鼠标左键点击“用户的程序菜单”,在右侧导航栏目中的空白处单击鼠标右键,添加文件夹,我们给这个文件夹取名“暗黑破坏神三”。在“暗黑破坏神三”文件夹中单击鼠标右键选择“创建新的快捷方式”。在打开的创建新的快捷方式窗口中选择“应用程序文件夹”中的可执行文件(.exe文件)。这两个文件分别是(项目可执行文件)和 msiexec.exe(卸载软件项目可执行文件)。
    1 
    将快捷方式修改为合适的名称。
    image

  8. 我们接着完成快捷方式的图标配置工作。鼠标右键单击快捷文件,在弹出菜单中选择“属性窗口”,在属性窗口之中配置 icon 属性,选择浏览。
    image

  9. 现在完成对卸载文件注册表的配置工作。单击 Setup 项目,你会看到在“属性”窗口中出现 productcode 属性,该属性是项目操作系统注册表文件的注册编号,拷贝该编号。右键点击“卸载 “暗黑破坏神三”快捷文件,弹出菜单选择属性窗口,将刚才拷贝的注册编号复制到 Arguments 属性之中,并进行如下修改:以本次案例为准就是:/x {8D68B7AD-9626-41A7-9A9E-524928B50DA1}。配置桌面快捷方式和图标的方法与上述步骤是类似的,这里就不再多说了。
    imageimage

  10. 最后,选择菜单“生成”,运行“生成解决方案”,在目标输出路径下可以看见输出的安装包文件。
    image

  11. 运行 setup.exe 文件,可以安装你的软件到任何的计算机中。桌面快捷方式和开始栏目中的程序部分的运行文件。当然,你执行“卸载”,也可以完成对软件的卸载工作。
     imageimage

相关文章
|
存储 SQL 缓存
带你全面了解MySQL性能调优、错误代码总结和全局参数配置
本文主要介绍当前MySQL性能优化+原理+实战,包括以下方面: MySQL遇到的的错误及解决方法 全局参数文件配置详解。
1039 0
|
7月前
|
IDE 开发工具 C++
JetBrains CLion 2025.1 发布 - C 和 C++ 跨平台 IDE
JetBrains CLion 2025.1 (macOS, Linux, Windows) - C 和 C++ 跨平台 IDE
328 0
|
关系型数据库 MySQL 数据库
【MySQL】:超详细MySQL完整安装和配置教程
【MySQL】:超详细MySQL完整安装和配置教程
42975 5
|
11月前
|
存储 算法
深入解析PID控制算法:从理论到实践的完整指南
前言 大家好,今天我们介绍一下经典控制理论中的PID控制算法,并着重讲解该算法的编码实现,为实现后续的倒立摆样例内容做准备。 众所周知,掌握了 PID ,就相当于进入了控制工程的大门,也能为更高阶的控制理论学习打下基础。 在很多的自动化控制领域。都会遇到PID控制算法,这种算法具有很好的控制模式,可以让系统具有很好的鲁棒性。 基本介绍 PID 深入理解 (1)闭环控制系统:讲解 PID 之前,我们先解释什么是闭环控制系统。简单说就是一个有输入有输出的系统,输入能影响输出。一般情况下,人们也称输出为反馈,因此也叫闭环反馈控制系统。比如恒温水池,输入就是加热功率,输出就是水温度;比如冷库,
1603 15
|
网络协议 网络安全 数据安全/隐私保护
|
C++ Windows
winform 程序打包成windows安装包
winform 程序打包成windows安装包前提:VS2019,winform 程序已经有一个完整可运行的 winform 程序。VS中上方扩展选项卡,选择 管理扩展,在打开的弹窗中选择联机,在右侧搜索框搜索 installer, 在中间显示的结果选择 Microsoft Visual Studio Installer Projects 点击下载。下载完成之后,关闭vs,自动打开扩展的安...
308 0
winform 程序打包成windows安装包
|
传感器 机器学习/深度学习 编解码
卫星图像10个开源数据集资源汇总
卫星图像10个开源数据集资源汇总
516 0
|
机器学习/深度学习 人工智能 自然语言处理
评测:AI 大模型助力客户对话分析
该评测报告详细介绍了Al大模型在客户对话分析中的应用,涵盖了实践原理、实施方法、部署体验、示例代码及业务适应性。报告指出,该方案利用NLP和机器学习技术,深度解析对话内容,精准识别用户意图,显著提升服务质量与客户体验。实施方法清晰明了,文档详尽,部署体验顺畅,提供了丰富的引导和支持。示例代码实用性强,但在依赖库安装和资源限制方面需注意调整。整体上,该方案能够满足基本对话分析需求,但在特定行业场景中还需进一步定制化开发。
|
缓存 JavaScript 前端开发
Vue项目卡顿慢加载?这些优化技巧告诉你!(一)
Vue项目卡顿慢加载?这些优化技巧告诉你!
5600 0
|
缓存 JavaScript 开发工具

热门文章

最新文章