能否在.MSI安装程序中安装或运行dotnetredist.exe(或任何任意的EXE)?

3

假设我有一个要求预装.NET Framework的MSI安装包。
我知道从VS2008设置项目生成的MSI将检测到缺少的先决条件并引导用户安装它。

问题1。在运行MSI时,是否可以在技术上调用dotnetredist.exe(或任何任意EXE)来处理此先决条件,然后继续安装?我的意思是,如果我限制自己使用VS2008生成的安装程序,则不可能这样做,但如果我使用WIX呢?如果我愿意编写自定义操作,那怎么办?如果我可以通过Orca或脚本手动编辑MSI表格,那么是否可能?

问题2。 这合法吗?许可证允许吗?

3个回答

5
技术限制是一个Windows安装程序会话无法启动另一个安装程序会话。例如,一个MSI文件无法安装另一个MSI文件。
从MSI文件启动可执行文件或脚本是可能的,只要它们不启动任何Windows安装程序会话。这被称为自定义操作
.NET安装程序exe绝对不能从MSI中启动,因为它使用Windows安装程序会话。相反,您必须创建一个引导安装程序setup.exe,该程序首先安装.NET,然后启动您的MSI。wix文档有一个主题涵盖如何使用msbuild生成这样的引导程序。这并不是真正的wix特定内容;您可以使用引导程序生成器任务与任何MSI文件一起使用。
至于法律方面,我认为没有必要担心。毕竟,它被称为可再分配

1
Q1. ...或者说,任何任意的EXE...
Q2. 这是合法的吗?许可证允许吗?
任何任意EXE的再分发合法性受到EXE许可证的管辖。'dotnetredist'具有特定的再分发许可证,因此没有问题。
MSI 4.5将允许安装程序链接,但有一定限制。

0

安装 .Net 可能需要重新启动。我不知道你要如何处理。中止安装?禁止重新启动?终止安装?我认为 MSI 事务在重新启动后无法正常工作。

您必须拥有 Visual Studio 或免费提供的 Windows SDK 的副本,其中包含 .Net SDK / 独立 .Net Framework SDK,并同意 EULA 中的许可和条款,以便将 dotnetredist.exe 与您的应用程序一起发布。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接