我在想为什么我们需要安装程序来创建安装包呢?我们可以创建一个桌面应用程序,它可以进行注册表更改、程序集注册、配置文件的创建等。
那么,专用的安装程序有什么其他作用或任务,是桌面应用程序无法完成的吗?
我在想为什么我们需要安装程序来创建安装包呢?我们可以创建一个桌面应用程序,它可以进行注册表更改、程序集注册、配置文件的创建等。
那么,专用的安装程序有什么其他作用或任务,是桌面应用程序无法完成的吗?
自动卸载 - 安装期间添加的所有更改都可以在卸载期间自动撤消
提升的权限 - 一些安装系统可以以提升的权限运行,并可以执行用户普通情况下无法执行的管理任务
重新安装 - 如果您的程序文件中有任何被删除或损坏的文件,安装程序可以重新安装这些文件。
静默安装 - 产品的安装过程不需要用户界面,并且有时不需要用户启动安装(例如,在机器启动或用户登录时自动发生)。
部署和组配置:对于大规模部署,安装包可以同时部署给多个用户,并且可以管理升级。
打包 - 通常将所有文件打包到一个单独的包中,通常是压缩的,然后在安装时解压缩。该软件包还可以进行数字签名以进行身份验证。
原因之一是某些操作可能需要机器上的管理权限,因此更容易和安全的方法是仅需请求安装程序的管理员权限,而不是应用程序本身。
另一个原因是,如果您想安装数据库或类似的其他复杂设置,这只需要一次,为什么要在应用程序的代码库中添加它只在第一次使用的代码,将其保持单独会更容易。
你可以通过编写自己的可执行文件来完成安装应用程序所需的一切。但是为什么呢?在Visual Studio中创建的安装程序非常灵活,可以编写自己的自定义操作,还可以确保在Windows上安装应用程序时覆盖所有内容。它还提供了回滚和卸载机制。
除非有特定原因,否则编写自己的安装程序就像用大锤敲开螺母一样笨重;而且你可能会错过一些东西。我总是觉得使用MSI更加舒适地安装软件。