web-dev-qa-db-ja.com

スクリプトで64ビットプラットフォームを検出する方法

64プラットフォームを検出するコードはありますか?.

if X86 then ...
if X64 then ...
26
Tom

はい。

使用する

if IsWin64 then
  // Do sth
else
  // Do sth else

Is64BitInstallMode関数もあります。実際、32ビットのセットアップは64ビットのOSで実行できます。したがって、Is64BitInstallModeIsWin64を意味しますが、IsWin64Is64BitInstallModeを意味しません。

34

ファイルをドロップするか実行するかについてのチェックをスローしたい場合は、呼び出しに対してチェックをスローすることもできます。

Check: IsWin64;

あるいは

Check: "not IsWin64";

これにより、32ビットおよび64ビットのアプリケーションインストーラーを1つのパッケージにコンパイルするための迅速で簡単な方法が可能になりますが、実行するのは特定のパッケージのみです。

編集:これを探しているかもしれない人々のためにもう少し拡大するために、私はフォローアップしたかった。

たとえば、インストーラーによる特定のファイルのコピーのみを許可する場合は、次のようにします。

[Files]
Source: "MyProg-x64.exe"; DestDir: "{app}"; Check: IsWin64;
Source: "MyProg-x86.exe"; DestDir: "{app}"; Check: "not IsWin64";

ソースから適応: http://www.jrsoftware.org/ishelp/index.php?topic=scriptcheck

44
Dan