DllEntry="UninstallNsisInstallation"
Execute="immediate" />
<CustomAction
- Id="AbortInstallation"
+ Id="AbortInstallationA"
+ BinaryKey="BIN_afsCustom"
+ DllEntry="AbortMsiImmediate"
+ Execute="immediate" />
+ <CustomAction
+ Id="AbortInstallationB"
BinaryKey="BIN_afsCustom"
DllEntry="AbortMsiImmediate"
Execute="immediate" />
<AdminExecuteSequence />
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate">IBMAFS_UPGRADE OR OPENAFS_UPGRADE</RemoveExistingProducts>
- <Custom Action="RemoveNsisInstallation" Before="AbortInstallation">NSISUNINSTALL <> "" AND UILevel >= 4</Custom>
- <Custom Action="AbortInstallation" Before="CostInitialize">NSISUNINSTALL <> "" AND UILevel < 4</Custom>
+ <Custom Action="RemoveNsisInstallation" Before="AbortInstallationA">NSISUNINSTALL <> "" AND UILevel >= 4</Custom>
+ <Custom Action="AbortInstallationA" Before="CostInitialize">NSISUNINSTALL <> "" AND UILevel < 4</Custom>
+ <!-- Assert that if the server is going to be installed locally after this session, control center and client are also local -->
+ <Custom Action="AbortInstallationB" After="MigrateFeatureStates">
+ <![CDATA[((&feaServer=3 OR (!feaServer=3 AND &feaServer<1)) AND (&feaClient=2 OR (&feaClient<>3 AND !feaClient<>3) OR &feaControlCenter=2 OR (&feaControlCenter<>3 AND !feaControlCenter<>3) ))]]>
+ </Custom>
<?ifdef RemoveLoopback?>
<Custom Action="RemoveLoopback" After="SelfRegModules">&feaLoopback=2 OR &feaLoopback=3</Custom>
<Custom Action="RollbackLoopback" After="RemoveLoopback">&feaLoopback=3</Custom>