2009-09-14 12 views
10

InstallShieldを使用して32ビット環境と64ビット環境のインストーラを生成する最適な方法を教えてください。私のアプリケーションの大半はビットニュートラルです(.net、Java、データファイル)。私はそれらのファイルを一度パッケージ化しなければならないなら、それを好むだろう。 installshieldプロジェクトのメンテナンスを減らすための標準的なアプローチはありますか?現在のところ、私が見つけることができる唯一の解決策は、2つの重複したプロジェクトを持つことです。各コンポーネントには64ビットのフラグが付けられ、デフォルトのインストールディレクトリはProgramFiles64に設定されます。これを行うにはより良い方法が必要です!InstallShield 64ビットプロジェクトの設定

私のアプリケーションのごく一部では、どのようにビットが実行されているか気にしません。我々は、いくつかのC++ DLLとJNI呼び出しを別々にする必要があります。これの大半は実行時に、実行中のJREが64ビットであるかどうかをチェックすることによって決定されます。

2つの130 MBファイルを配布しないでください。両方のインストーラが共通のコンポーネントを参照する1つの大きなzipファイルを出荷することが理想的です。共通のもののマージモジュールを作成し、それぞれのプロジェクトで参照する必要がありますか?

私たちはInstallShield 2009(Premier)を使用しています。

答えて

7
  • あなたのセットアップにゼロ64ビットコンポーネントを持って逃げることができるなら、あなたはそれを100%、32ビットセットアップすることができ、そしてそれは、32ビットでも同様に動作となります64 bit Windows。

  • これが可能でない場合は、製品設定フラグを使用することをおすすめします。 「リリース」ビューで、「XP32」や「XP64」などの複数の製品構成を作成します。 "Intel; 1033"と "AMD64; 1033"のいずれかに適切なテンプレート概要フィールドをマークします。固有の製品設定フラグをそれぞれに関連付けて、それを識別します(例: "xp32"、 "xp64"。次に、各Featureに対して、適切なRelease Flagを設定します。必要に応じて、64ビットコンポーネントに64ビットプロパティを設定できます。 「xp32」とマークしたフィーチャに64ビットコンポーネントがないことを確認してください。これにより、1つのInstallShieldプロジェクトファイルのみが作成できますが、32ビットと64ビットの両方のリリースが生成されます。

+0

インストールディレクトリを製品構成ごとに異なる値に設定する方法はありますか?私はそのための選択肢は見当たりません。私はそれを32ビットのProgramFilesと64ビットのProgramFiles64に設定して、常にC:\ Program Filesにインストールされているように見せます。 – galuvian

+4

一般情報/製品プロパティビューで、INSTALLDIRをProgramFilesFolderに設定します。次に、 "Set Directory"カスタムアクション(タイプ35)を作成し、それを使用してINSTALLDIRをProgramFiles64Folderに設定します。 VersionNT64上でそれを調整して、64ビットシステム上でのみ動作します。これは、1つのプロジェクトファイルを使用して、ボットの32/64ビット設定を構築する方法です。 –

+0

これは古い回答ですが、あなたがまだその上にいることを願っています。私が見るところでは、InstallShield 2014はリリースビューに 'Template Summary'フィールドを持っていません。同じISMファイルからx32とx64を取得するにはどうすればよいですか? – Uri

0

このスレッドで説明したように1つの32ビットセットアッププロジェクトを使用する場合、64ビットシステムで32ビットプロセスを実行する際に問題が発生することがあります。設定は32ビットプロセスなので、OSは32ビットリソースを使用する必要があると想定しています。 64ビットマシンでは、両方があります。たとえば、system32とSysWOW64です。 SYSNATIVEファイルシステムリダイレクタを使用すると、64ビットリソースをOSに強制的に使用させることができます(これは不思議にも、system32には64ビットリソースが格納されていますが、SysWOW64は32ビットです)。これは、Windows Server 2008 R2および2012のDISM.exeまたはPKGMGR.exeを使用してIISを設定する場合に便利です。

関連する問題