2017-03-10 14 views
0

インストーラスクリプトを変更して、ファイルを32ビットの場合はC:\Program Files (x86)に、64ビットの場合はC:\Program Filesに変更する必要があります。

私は$PROGRAMFILESが正しい変数だと思っていましたが、ドキュメントから見ると、これは常にC:\Program Files (x86)を指しています。

"The program files directory (usually C:\Program Files but detected at runtime). 
On Windows x64, $PROGRAMFILES and $PROGRAMFILES32 point to C:\Program Files (x86) 
while $PROGRAMFILES64 points to C:\Program Files. Use $PROGRAMFILES64 when 
installing x64 applications." 

私は${If} ${RunningX64}で、インストール時にシステムをテストする方法に精通しているが、私はすべての可能であればそのアプローチを避けるしたいと思いますので、スクリプト内の$PROGRAMFILESエントリの数十があります。

自動的に設定される別の変数はありますか?

答えて

1

いいえシステムに一致するプログラムファイル変数がありません。 $PROGRAMFILESは、インストーラのビット数と一致します。

システムのビット数に合わせる必要がある場合は、独自の変数を作成して.onInitに初期化する必要があります。 $PROGRAMFILES64はおそらく32ビットシステムで$PROGRAMFILES32に低下しますが、私がそれを使用して推薦するかどうかはわかりません。

宛先フォルダを参照するときに$InstDirを使用する必要があるため、これは通常問題ではありません。

関連する問題