c# - 安装程序与。桌面应用程序

标签 c# .net winforms installation

我只是想知道为什么我们需要安装程序来创 build 置? 我们可以创建一个桌面应用程序,它将执行注册表更改、程序集注册、配置文件创建等等。

为什么会有专门的安装程序?它们是否用于桌面应用程序无法完成的任何其他目的或任务?

最佳答案

原则上,您可以推出自己的安装程序,尤其是当您的应用由用户手动下载时。但是,您将失去安装程序通常提供的一些好处:

  1. 自动删除 - 安装期间添加的所有更改都可以在卸载期间自动撤消

  2. 提升的权限 - 一些安装系统可以以提升的权限运行,并且可以在安装时执行安装软件的用户通常无法执行的管理任务

  3. 重新安装 - 如果您的任何程序文件被删除或损坏,安装程序可以重新安装这些文件。

  4. 静默安装 - 在没有用户界面的情况下安装产品,有时无需用户启动安装(例如,在机器启动或用户登录时发生。)

  5. 推出、组配置:对于大型部署,安装包可以一次性部署给许多用户,并且可以管理升级。

  6. 打包 - 通常通常将所有文件打包在一个包中,通常是压缩的,然后在安装时解压缩。该包还可以进行数字签名以进行身份​​验证。

您可以在您的应用中提供部分或全部这些内容,但您需要重新设计大量已经免费提供的代码。参见例如 AdvancedInstaller ,为 Windows 生成 MSI 文件(提供免费版。)

或者,有一个 WiX toolset用于从 XML 描述生成 MSI。

关于c# - 安装程序与。桌面应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2938198/

相关文章:

c# - Git忽略对单行的更改

c# - 定期将文本输出到 Windows 窗体 - 速度问题

c# - Win Forms (Accordion) 多级下拉控件

c# - Exchange Web 服务 (EWS) 在所有文件夹中查找项目

c# - 匿名管道 - 未获取所有数据

c# - 内容类型 - WebAPI - 请求 header

c# - 从引用中删除版本号(避免 "Could not load file or assembly..."错误)?

c# - C# 中根据用户输入在 DataGridView 的列中进行搜索

.net - 如何使用 DataReceived 事件在 .Net 中使用 SerialPort?

c# - 如何使选项卡控件看起来像在 Visual Studio 中一样