Inno Setup子选项/子组件用于不同的安装类型(服务器/客户端)

问题描述 投票:1回答:2

我正在尝试使用服务器和客户端安装类型为我的应用准备安装程序。使用某些代码,服务器类型很容易,但是客户端安装也有很多选项。我正在尝试创建一个带有类型选择的页面,如果用户选择客户端安装,则还有许多其他选择。有可能吗?

示例:

  • 服务器

    • (无选项)
  • 客户

    • 子选项A或
    • 子选项B
installer inno-setup
2个回答
0
投票

您的问题相当广泛。但是,如果我正确理解您的需求,则可以使用标准的Inno SetupTypesComponentsTasks系统:

[Types]
Name: server; Description: "Server";
Name: client; Description: "Client";

[Components]
; The "descriptions" are not visible in this setup
Name: server; Description: "Server"; Types: server;
Name: client; Description: "Client"; Types: client;

[Tasks]
Name: client1; Description: "Client feature 1"; Components: client;
Name: client2; Description: "Client feature 2"; Components: client;

[Files]
Source: "Server.exe"; DestDir: "{app}"; Components: server;
Source: "ClientFeature1.exe"; DestDir: "{app}"; Tasks: client1;
Source: "ClientFeature2.exe"; DestDir: "{app}"; Tasks: client2;

enter image description here

enter image description here


0
投票

如果您希望将所有内容放在一个地方,则可以使用父组件:

[Types]
Name: custom; Description: "Custom"; Flags: iscustom

[Components]
Name: server; Description: "Server"; Types: custom; Flags: exclusive
Name: client; Description: "Client"; Flags: exclusive
Name: client\feature1; Description: "Feature 1"
Name: client\feature2; Description: "Feature 2"

(默认情况下,选择Types: custom戴上的那个。]

然后您可以为所有客户端在Components: client上设置条件,或仅在选择功能1时在Components: client\feature1上设置条件,等等。>

还有其他一些变化,取决于客户端功能是否互斥。

© www.soinside.com 2019 - 2024. All rights reserved.