我目前正在使用 Visual Studio 2010 中的 Visual Studio 安装程序(安装项目)作为 MyProgram 的安装程序。它有一些奇怪的错误并且不是很可定制,所以我想切换到另一个安装程序产品。以下是我的要求:
必须是免费的(并且许可用于商业用途)如果客户端没有,则必须安装 Windows Installer 3.1 和 .NET Framework 4.0
如果它们不可用,安装程序将下载它们 用于检测和下载 .NET Framework 的代码必须由 Microsoft 编写(我不希望将来必须更新硬编码的 URL 和注册表项)。我知道 Windows SDK 包含执行此操作的设置 Bootstrap (C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper) 将来,当 .NET Framework 5 发布并且 MyProgram 使用它时,无需更改安装程序代码,更新后的安装程序产品应该会看到 MyProgram 现在使用 .NET Framework 版本 5 并将安装它 以下是我目前的选择:
Visual Studio 安装程序:使用 Bootstrap Setup.exe 自动检测/下载/安装 Windows Installer 和 .NET Framework(好!)有限/错误的功能(Uninstall shortcuts in the Start Menu cause empty folders to be left behind during uninstall、asking the user if they want a desktop shortcut requires a lot of work 等) NSIS:本身不支持.NET Framework 所以adding it as a prerequisite需要过多的编码、硬编码的 URL 等。 创新设置:本身不支持.NET Framework 所以adding it as a prerequisite需要过多的编码、硬编码的 URL 等。 维克斯:陡峭的学习曲线...不确定我是否想花数周时间学习它只是为了发现它与 Visual Studio 安装程序有相同的卸载问题(因为它们都使用 MSI 文件) InstallShield LE 2010:下载它需要我设置一个虚假的电子邮件帐户来注册只是为了下载它。然后一旦安装它,它必须联系公司的服务器并将一些私有(private)信息传输给他们,然后我才被允许尝试免费版本。这是最阴险的 DRM 形式,我不会接受。
WiX v3.5 目前处于测试阶段,即将发布。它是最新添加的,Burn,是一个 Bootstrap /链接程序,旨在完全满足您的需求。
维克斯 是 一个陡峭的学习曲线,主要是因为你必须学习 MSI 才能做任何稍微复杂的事情。但是,它确实满足您的要求。
我的选择可能是 NSIS,因为编写安装程序的脚本非常简单。虽然添加 .NET 先决条件是手动的,但如何做到这一点很容易理解并免费发布。