我编写了一个用于安装.NET应用程序的安装程序。现在我想在必要时预安装.NET Framework。这不是什么大不了的事。最重要的是,必须有一个没有EXE作为引导程序的MSI。这可能吗?
答案 0 :(得分:1)
Windows Installer在这里有几个互斥锁可以防止这种情况发生。第一个为每台机器强制执行一个执行序列,第二个为每个进程强制执行一个UI序列。
技术上可以在UI序列中生成自定义操作,生成新进程并在该上下文中安装.NET。但是,这不是最佳做法,您将无法以静默方式安装MSI。您可以做的最好的是/ QR(简化UI)安装。
我感觉到你的痛苦。我最近所做的(尽可能)是针对.NET 2.0的.NET应用程序并提供一个app.config,表示支持CLR 4.0并使用旧版激活。这给了我一个针对最小公分母及以外的应用程序。然后我在我的MSI中放入启动条件,检查.NET 2.0或更高版本。
基本上,我觉得Windows XP / Server 2003是一个恐龙,如果客户仍想运行它,他们可以自己安装.NET。 Windows Vista及更高版本具有.NET 3.0或更高版本。