基于组件的AppId名称

时间:2015-02-01 14:43:38

标签: inno-setup app-id

是否可以根据选择安装的组件创建唯一的AppId名称。我有一个Add,它为每个状态安装特定于状态的组件,一次只能选择一个状态进行安装。如果我可以使用组件(状态首字母)为GUID添加前缀或后缀,则应该可以独立地卸载每个状态。我已尝试过以下但似乎没有做到这一点。

function GetAppId(Value: string): string;
    begin  
        Result := {WizardSelectedComponents} + '{{244A887F-F3DC-4B8D-B0F8-548A90464CEF}';
    end;

1 个答案:

答案 0 :(得分:0)

您可以执行类似的操作,但是对于需要不同ID的许多组件:

function GetAppId(Value: string): string;
var
  strResult: String;
begin
  if IsComponentSelected('ComponentName1') then
    begin
      strResult := '{244A887F-F3DC-4B8D-B0F8-548A90464CEF}';
    end
  else if IsComponentSelected('ComponentName2') then
    begin
      strResult := '{A0A115ED-45E5-4DC7-A73A-3E8046CA4478}';
    end;
end;