【发布时间】:2010-06-02 22:38:08
【问题描述】:
我目前正在使用 Visual Studio 2010 中的 Visual Studio 安装程序(安装项目)作为 MyProgram 的安装程序。它有一些奇怪的错误并且不是很可定制,所以我想切换到另一个安装程序产品。以下是我的要求:
- 必须是免费的(并获得商业使用许可)
- 如果客户端没有 Windows Installer 3.1 和 .NET Framework 4.0,则必须安装它们
- 如果它们不可用,安装程序将下载它们
- 检测 .NET Framework 并下载它的代码必须由 Microsoft 编写(我不希望将来必须更新硬编码的 URL 和注册表项)。我知道 Windows SDK 包含执行此操作的设置引导程序 (C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper)
- 将来,当 .NET Framework 5 发布并且 MyProgram 使用它时,无需更改安装程序代码,更新后的安装程序产品应该会看到 MyProgram 现在使用 .NET Framework 版本 5 并将安装它李>
这是我目前的选择:
Visual Studio 安装程序:
- 使用引导程序 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 等。
Inno 设置:
- 本身不支持 .NET Framework,因此adding it as a prerequisite 需要大量编码、硬编码 URL 等。
WiX:
- 陡峭的学习曲线...不确定我是否想花数周时间学习它只是为了发现它与 Visual Studio 安装程序有相同的卸载问题(因为它们都使用 MSI 文件)
InstallShield LE 2010:
- 下载它需要我设置一个虚假的电子邮件帐户来注册只是为了下载它。然后一旦安装它,它必须联系公司的服务器并将一些私人信息传输给他们,然后我才被允许尝试免费版本。这是最阴险的 DRM 形式,我不会接受。
【问题讨论】:
-
这是一组非常不切实际的要求。
-
IIRC 几年前有几个用于 WiX 的 UI,如果它们仍然存在(它们是开源的),那么它们可能会减轻你的痛苦。
-
笨蛋,谢谢你的建议。我发现了一个名为 SharpSetup (sharpsetup.eu) 的开源 UI,它似乎可以减少 WiX 的学习曲线。
标签: .net deployment visual-studio-2010 installation windows-installer