Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以使用单个MSI安装.NET引导程序吗?_.net_Wix - Fatal编程技术网

可以使用单个MSI安装.NET引导程序吗?

可以使用单个MSI安装.NET引导程序吗?,.net,wix,.net,Wix,我已经编写了安装.NET应用程序的安装程序。现在,如果需要,我想预安装.NET Framework。这没什么大不了的。重要的是,必须有一个没有EXE作为引导程序的MSI。这是可能的吗?Windows Installer有两个互斥锁,可以防止这种情况发生。第一个对每台机器强制执行一个执行序列,第二个对每个进程强制执行一个UI序列 从技术上讲,可以在UI序列中使用自定义操作生成新进程并在该上下文中安装.NET。但是,这不是一个最佳实践,您将失去以静默方式安装MSI的能力。您最多只能安装a/QR(简化

我已经编写了安装.NET应用程序的安装程序。现在,如果需要,我想预安装.NET Framework。这没什么大不了的。重要的是,必须有一个没有EXE作为引导程序的MSI。这是可能的吗?

Windows Installer有两个互斥锁,可以防止这种情况发生。第一个对每台机器强制执行一个执行序列,第二个对每个进程强制执行一个UI序列

从技术上讲,可以在UI序列中使用自定义操作生成新进程并在该上下文中安装.NET。但是,这不是一个最佳实践,您将失去以静默方式安装MSI的能力。您最多只能安装a/QR(简化UI)

我感觉到你的痛苦。我最近所做的(只要可能)是针对.NET 2.0的.NET应用程序,提供一个app.config,说明支持CLR 4.0并使用旧版激活。这给了我一个针对最小公分母的应用程序。然后,我在MSI中设置了一个启动条件,用于检查.NET 2.0或更高版本


基本上,我觉得WindowsXP/Server2003是一只恐龙,如果客户仍然想运行它,他们可以自己安装.NET。Windows Vista及更高版本具有.NET 3.0或更高版本。

此解决方案对我不起作用。我需要4.5分。这真的很愚蠢,但我能理解为什么只有一个序列。应该有一个用于运行序列的暂停命令:-)最初,它们有嵌套/并发安装的概念。您可以在单个上下文中安装多个MSI。这被证明是灾难性的(MSDE slammer蠕虫),他们反对它。在MSI 4.5中也有一个MSI链接的概念,但如果您还没有MSI 4.5,则再次出现catch 22。另外,它不能与.NET一起使用,因为framework安装是一个链接多个包的setup.exe包装程序。另外,如果我回答了是否可能的问题,请给出一个可接受的答案。由于您使用的是WiX,我建议您查看Burn to bootstrap.NET。您能解释一下这个限制吗?特别是考虑到.NET Framework安装程序是一个EXE,是一个引导程序,并且安装了许多MSI?另外,您的安装程序是否在.NET 4 CLR GAC中放置了任何程序集(换句话说,需要安装.NET 4.x作为安装的先决条件)?我需要一个没有EXE的MSI来通过GPO部署它。要求是:如果未安装.NET Framework,请安装它。这只需要一个引导程序(EXE)就可以实现。Microsoft通过WSUS安装.NET。使用GPO有一些包装技巧。这是一个很好的地方,可以找到那些最不粗俗的人。