同じマシンに最大 3 つの同時インストールを許可する必要があるアプリケーションがあります。
何らかの理由で、次のコードは UsePreviousAppDir が yes に設定されているかのように動作します。アプリを 2 回目にインストールすると、パスが壊れてしまいます。
見たい値は
C:\Our App\install_x
ここで、x はユーザーの選択に対応します。
1 回目は機能しますが、2 回目の実行では次のような結果になります。
C:\Our App\install_x\install_y
ここで、x は最初のインストールで選択した値に対応し、y はこのインストール中に選択した値に対応します。
インストール バージョンは、インストーラーの最初の画面から取得したラジオ ボタンの選択です。この問題を解決するにはどうすればよいですか?
セットアップ セクション:
[Setup]
AppName=Our App
AppId=Our App
AppVerName=Our App Version(CM)
DefaultDirName=C:\Our App
DefaultGroupName=Our Group Name
OutputDir=..\
OutputBaseFilename=mm_setup
DisableStartupPrompt=yes
Compression=zip
UsePreviousAppDir=no
VersionInfoDescription=Our App Setup
CreateUninstallRegKey=no
DirExistsWarning=no
そして、インストールバージョンを設定する方法:
procedure gSetVersion;
begin
if gVersionPage.SelectedValueIndex = 0 then
begin
gInstallArea := 'install_a';
end
else if gVersionPage.SelectedValueIndex = 1 then
begin
gInstallArea := 'install_b';
end
else if gVersionPage.SelectedValueIndex = 2 then
begin
gInstallArea := 'install_c';
end
WizardForm.DirEdit.Text := WizardDirValue + '\' + gInstallArea;
end;