Windows installer 如何在InstallShield的安装需求页面中添加新的框架版本?

Windows installer 如何在InstallShield的安装需求页面中添加新的框架版本?,windows-installer,installshield,Windows Installer,Installshield,正如您在InstallShield的Project Assistant->Installation Requirement屏幕截图中看到的,它仅显示在列表中的.NET Framework 4.6之前 如何添加其他框架,如4.7及更高版本 您必须创建自己的自定义先决条件。只需查看4.6的所有设置,将它们复制到新的先决条件,并相应地修改注册表项、文件路径等,以反映新版本。要验证注册表项和文件路径,您需要在测试系统上安装.NET 4.7。希望这会有所帮助。看起来还没有添加更高版本的.NET frame

正如您在InstallShield的Project Assistant->Installation Requirement屏幕截图中看到的,它仅显示在列表中的.NET Framework 4.6之前

如何添加其他框架,如4.7及更高版本


您必须创建自己的自定义先决条件。只需查看4.6的所有设置,将它们复制到新的先决条件,并相应地修改注册表项、文件路径等,以反映新版本。要验证注册表项和文件路径,您需要在测试系统上安装.NET 4.7。希望这会有所帮助。

看起来还没有添加更高版本的.NET framework,即使是最新版本的Installshield 2018

基本上,这个菜单选项看起来只是添加了注册表搜索和启动条件。这是你可以自己创造的。以下MSDN文章描述了如何检测.NET framework的版本:

下面是一个快速的模型:

在RegLocator表中,添加此行:

DotNet471Full,2,软件\Microsoft\NET框架设置\NDP\v4\Full,版本,2

这将针对64位计算机上注册表的32位部分。这就是Installshield为框架的早期版本设置检查的方式,因此我使用它

在AppSearch表中,添加此行:

DOTNETVERSION471FULL,DotNet471Full

在LaunchCondition表中,添加这一行,请参见下面关于默认Installshield条件的注释-我在这里对其进行了扩展,以缓解一些潜在问题:

如果已安装或DOTNETVERSION471FULL>=461308,则需要安装Microsoft.NET Framework 4.7.1完整软件包或更高版本才能继续此安装

这将显示一条消息,通知用户缺少必备的.NET framework。然而,是否真的有必要检查最新版本?不是都针对相同的CLR版本4吗

关于测试的注意事项:请彻底测试自己-在所有安装模式下安装、卸载、修复、修改、修补、升级。我没有准备好进行适当的测试

例如,Installshield的默认启动条件DOTNETVERSION20=1(对于.NET framework版本2)似乎会触发一个不可卸载的包,如果所讨论的dot NET版本被卸载,我假设注册表项将丢失,但我没有时间进行实际测试。添加Installed作为一个或一个条件——就像WiX那样——似乎可以缓解这个问题

链接:


更新的先决条件现在作为InstallShield 2018的更新提供。转到工具->检查更新以获取更新

您可以添加此文件:
路径:C:\Program Files x86\InstallShield\20xx\SetupPremissions

在那里我可以看到现有先决条件的设置?您使用的是什么版本的InstallShield?在IS 2016中,如果右键单击现有先决条件,例如NET 4.6,然后选择编辑先决条件。。。从上下文菜单中,您将看到所有属性、条件、要包含的文件等。我尝试了限量版和2018版。“无”具有上下文菜单:检查C:\Program files x86\InstallShield\20xx\SetupPremissions中是否有任何.prq文件。如果是这样,您可以只克隆.NET的exising.prq文件,并在任何文本编辑器中进行更改。我不确定限量版是否支持先决条件编辑,但在完整版本中,您应该能够从主菜单中选择工具>先决条件编辑器,在Win 10下运行的是2015 LE VS 2013,并希望添加检查.Net 4.6的条件。文件夹C:\Program Files x86\InstallShield\2015LE\SetupPremissions包含用于.Net 4.6 Full和.Net 4.6 Web的prq文件,但这些文件不出现在安装要求的列表中,安装要求在.Net 4.5 Full package中停止。如何将.NET4.6添加到列表中?