如何在installshield基本MSI项目中的.NET Framework 4.5.2上添加先决条件检查

RBT*_*RBT 0 installation windows-installer installshield installshield-2015

我将通过installshield安装.NET应用程序。我的.NET应用程序依赖于.NET Framework 4.5.2。因此,如果开始安装后未在系统上找到.NET Framework 4.5.2必备软件,则我不希望安装继续进行。如何在Installshield 2015中实现此目标?

更新:当我尝试按照Shahzad的建议进行可分配路线时,出现以下错误:

您的项目包含installshield先决条件。需要setup.exe安装程序启动器。

我正在处理的项目是一个基本的MSI项目。我发现它应该创建一个a setup.exe作为输出来解决此错误,但是我没有看到这里setup.exe建议的任何选项卡。我会在某处的标签下看到它吗?Project AssistantInstallation Designer

RBT*_*RBT 5

我正在详细说明自定义软件条件方法,以便它对遇到困难的人有所帮助。当您只想检查是否存在注册表项时,自定义软件条件就可以满足需求。

在我的特定情况下,除了检查是否存在注册表项之外,我还必须将特定注册表项的值与预定义值进行比较(379893)。我分两步实现了它:

  1. 转到Project Assistant标签。单击Installation Requirements底部的链接。
  2. 现在,More Options在左窗格的部分下,单击Create a custom software condition链接。

在此处输入图片说明

  1. 在欢迎进入系统搜索向导屏幕上单击下一步。

在此处输入图片说明

  1. 选择 Registry Entry

在此处输入图片说明

  1. 选择注册表项路径,该路径可以告诉任何计算机上已安装的.Net框架的确切版本。在该Registry Value: (Optional)字段中,输入一个变量名,该变量名将存储键的值。稍后在创建比较条件时使用此变量来检查.Net Framework版本的准确值。该变量将附加到名为的属性列表中SecureCustomProperties。您可以在标签Property Manager下的下方看到此属性Behavior and LogicInstallation Designer

在此处输入图片说明

  1. 放置错误消息,如果未安装所需的.Net框架版本,则应弹出该错误消息:

在此处输入图片说明

  1. 这样形成的安装条件将显示在列表中,并在Project Assistant选项卡上选中其复选框。

在此处输入图片说明

  1. 现在转到Installation Designer [Tab]->行为和逻辑->系统搜索。在这里,您将看到一条新记录,该记录与我们到目前为止创建的软件搜索条件相对应。右键单击该行,然后单击Modify...

在此处输入图片说明

  1. 不要在向导的前两个屏幕上进行任何更改。在具有标题的第三个屏幕上,What do you want to do with the value?选择Store the value in the property and use the property in an Install Condition单选按钮。现在单击完成。

在此处输入图片说明

  1. 现在会Condition Builder弹出一个新窗口。双击Condition列进行更改。将条件更改为DOTNETFRAMEWORKRELEASEVERSIONVALUE >= "#379893"。您可以根据链接上的详细信息,根据要检查的.Net框架来更改条件。

在此处输入图片说明