В Inno Установка - это возможный добавить условные операторы к тому, что в разделе [Run] выполняется?

Я думаю, что вы используете Cloudera Hadoop. В версиях Spark 2.x произошли значительные изменения по сравнению с версиями 1.x. В некотором смысле, есть проблемы совместимости. Поэтому, когда ваши существующие производственные задания, которые использовали версию 1.x, работают на 2.x, есть больше шансов, что ваша работа может потерпеть неудачу.

Просто для обеспечения обратной совместимости, Cloudera добавил «spark2-submit» и попросил пользователей использовать его для всех заданий «go-forward». И "spark-submit" все равно будет использовать версию 1.x, и вам не нужно трогать какие-либо рабочие задания.

Так что это просто из соображений совместимости.

9
задан Davy8 11 December 2008 в 16:47
поделиться

1 ответ

Почему не просто пробуют что-то вроде этого:

[Files]
Source: ClientSetup.msi; DestDir: {tmp}; Flags: deleteafterinstall; Components: Client
Source: ServerSetup.msi; DestDir: {tmp}; Flags: deleteafterinstall; Components: Server

[Run]
Filename: msiexec.exe; Parameters: /i "{tmp}\ClientSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Client\" ALLUSERS=2; WorkingDir: {tmp}; StatusMsg: Installing client; Components: Client
Filename: msiexec.exe; Parameters: /i "{tmp}\ServerSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Server\" ALLUSERS=2; WorkingDir: {tmp}; StatusMsg: Installing server; Components: Server

[Components]
Name: Client; Description: Client Installation
Name: Server; Description: Server Installation

Конечно, необходимо не обязательно использовать Components. Вы не записали, как Вы решаете который установщик работать. При необходимости в более сложной логике, Вы могли бы также использовать Check функции как в:

[Files]
Source: ClientSetup.msi; DestDir: {tmp}; Flags: deleteafterinstall; Check: CheckClient
Source: ServerSetup.msi; DestDir: {tmp}; Flags: deleteafterinstall; Check: CheckServer

[Run]
Filename: msiexec.exe; Parameters: /i "{tmp}\ClientSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Client\" ALLUSERS=2; WorkingDir: {tmp}; StatusMsg: Installing client; Check: CheckClient
Filename: msiexec.exe; Parameters: /i "{tmp}\ServerSetup.msi" /qb INSTALLDIR="{code:GetInstallPath}\Server\" ALLUSERS=2; WorkingDir: {tmp}; StatusMsg: Installing server; Check: CheckServer

[Code]
function CheckClient: Boolean;
begin
  Result := WhateverCondition;
end;

function CheckServer: Boolean;
begin
  Result := WhateverOtherCondition;
end;
24
ответ дан 4 December 2019 в 08:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: