我使用 Visual Studio 用 C# 编写了一个应用程序,我创建了一个项目设置文件,该文件在我的调试中为我创建了文件。
Windows Installer 和安装应用程序都是必需的,但我想将它们合并为一个,就像当您下载一个应用程序时,安装程序只是一个文件。
有人可以告诉我如何做到这一点,或者只是向我指出一个好的来源。
提前致谢。
最佳答案
如果您使用 Visual Studio 的内置安装项目模板来生成安装程序,则根本不需要 setup.exe
文件。
您唯一需要分发的是.msi
文件。其中包含用户安装您的应用程序所需的一切。 setup.exe
文件只是一个 stub ,它根据 .msi
文件中的信息启动安装例程,该文件是 Windows Installer 用于安装应用程序的数据库。而且,由于如果安装了 Windows Installer 服务,则可以通过双击这些文件来启动它们,因此如果您不想,则实际上不需要分发 setup.exe
Bootstrap 。
您可能想要分发 setup.exe
文件的一些特殊原因是:
由于某种原因,您预计您的用户可能没有在其计算机上安装所需版本的 Windows Installer。如今,这种情况变得相当罕见,特别是考虑到宽带互联网连接的广泛性以及操作系统供应商在插入自动更新方面的积极性。但是,如果您的用户“断开连接”(在很多意义上),您可能需要使用安装可执行文件来验证是否存在必要版本的 Windows Installer,如果不存在则安装它,然后启动您的
.msi
文件来执行安装。 (如果未安装 Windows Installer,则无法运行.msi
文件。)您需要支持多种语言。在这种情况下,
setup.exe
文件可以在启动安装程序之前对.msi
文件执行语言转换。您想要按顺序管理多个
.msi
文件的安装。 Windows Installer 的设计方式很难链接.msi
文件的安装,这使得在安装自己的应用程序文件之前或之后安装依赖项变得困难。setup.exe
文件不受 Windows Installer 的限制,因此可用于链接这些文件并精确管理安装顺序。一般来说,创建您自己的
setup.exe
文件(或使用众多第三方安装程序软件包之一为您创建)可以为您提供更大的灵 active 。您基本上可以完全控制安装过程,而不必遵循 Windows Installer 的规则。
但 83.44% 的情况下,这是不必要的,您应该遵循使用 .msi
文件的更简单的路线。这还允许系统管理员跨他们管理的计算机(例如,整个公司网络)自动安装,这是原始可执行文件不支持的。
关于c# - Windows 安装程序和安装应用程序合并到一个文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644097/