0

我将通过 installshield 安装一个 .NET 应用程序。我的 .NET 应用程序依赖于 .NET 框架 4.5.2。因此,如果安装开始后在系统上找不到 .NET framework 4.5.2 先决条件,我不希望安装继续进行。如何在 Installshield 2015 中实现这一点?

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

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

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

4

3 回答 3

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 框架版本的确切值。此变量被附加到名为 的属性列表中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 框架更改您的条件。

在此处输入图像描述

于 2017-02-20T09:37:44.833 回答
1

您可以在选项卡下的安装要求中选择 .Net 框架的版本Project Assistant。或者,您还可以指定是否希望在安装设计器(选项卡)-> 应用程序数据(左窗格中的导航节点)-> 可再发行组件中安装 .Net Framework 作为安装的一部分

您还可以从Project Assistant -> Installation Requirements -> Create Custom Software condition 创建自定义需求。从下拉列表中选择注册表项进行搜索。在下一步中,您可以提供 Registry Root、Registry Key Path 和要查找的值。

您还可以查看如何设置注册表比较设置

于 2017-01-24T06:04:31.643 回答
-1

我们必须改变的条件如下: 在此处输入图像描述

于 2019-07-19T07:52:24.540 回答