3

セットアップ コンテンツを 1 つの特定のディレクトリにのみインストールしたいのでNext、ユーザーがインストール先の適切なフォルダを選択しない限り、ディレクトリ選択ページのボタンを無効にしたいと考えています。

Nextディレクトリ選択ページのボタンを無効にして、ユーザーが特定のディレクトリを選択した直後に有効にするにはどうすればよいですか?

4

2 に答える 2

6

Next次のサンプルは、ページに到達したときにボタンを無効にし、フォルダー (定数)SelectDirを入力 (またはディレクトリの参照ダイアログから選択) したときにのみ有効にする方法を示しています。ユーザーは必要に応じて入力できるため、比較では大文字と小文字が区別されません。C:\MySecretDirMySecretDir

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Code]
const
  MySecretDir = 'C:\MySecretDir';

procedure OnDirEditChange(Sender: TObject);
begin
  WizardForm.NextButton.Enabled := CompareText(WizardDirValue, MySecretDir) = 0;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpSelectDir then
    OnDirEditChange(nil);
end;

procedure InitializeWizard;
begin
  WizardForm.DirEdit.OnChange := @OnDirEditChange;
end;

または、選択したディレクトリにNext特定のファイルがある場合にのみボタンを有効にする場合は、イベント ハンドラーMyUniqueFile.exeのコードを次のように変更します。OnDirEditChange

procedure OnDirEditChange(Sender: TObject);
begin
  WizardForm.NextButton.Enabled := FileExists(AddBackslash(WizardDirValue) +
    'MyUniqueFile.exe');
end;
于 2012-04-09T08:51:27.907 に答える
3

ディレクトリ選択ページを無効にすることで、ユーザーがインストール ディレクトリを変更できないようにすることができます。無効にすると、インストール中にページが表示されなくなります。

[SETUP]
DisableDirPage=yes
于 2015-02-23T22:48:58.410 に答える