0

Installshield Basic MSI プロジェクトがあります。このプロジェクトは、Installshield のブートストラップを使用して、いくつかのセットアップの前提条件をインストールします。すべてがバンドルされ、1 つの exe (Setup.exe) 内に圧縮されます。実行するファイルのフル パスを知る必要がある前提条件が 1 つあります。このパスを見つけるために利用できるプロパティはありますか?

または別の解決策。現在、Installshield 2008 を使用しており、アップグレードの可能性はあまりありません。Windows Installer 4.5 に依存する SQL Server 2008 をインストールする必要があります。Installshield 2008 は WinInstaller 4.5 をサポートしていないため、WinXp および Vista 用の前提条件を作成しました。WinXP は正常に動作しています。

ただし、Windows Vista、Windows Installer 4.5 の再配布可能ファイルは .msu ファイルであり、wsua.exe を介して実行する必要があります。コマンドライン パラメーターを受け入れるだけの小さなアプリを作成し、パラメーターを使用して wusa.exe を開始して、再配布可能な Windows インストーラーをインストールします。ただし、wusa.exe には再配布可能ファイルへのフル パスが必要です。setup.exe がファイルを抽出した場所へのパスを見つける方法はありますか?

または、Installshield 2008 に Windows Installer 4.5 のサポートを追加する方法はありますか?

4

1 に答える 1

2

IS2008 を使用した代替アプローチでは、ヘルパー exe でこれを実行できるはずです。C++ を使用していると仮定すると、GetModuleFileName() を呼び出して、実行中の exe の場所を見つけることができます (他の言語でも同様の機能がどこかに公開されているはずです)。すべての前提条件のファイルが同じフォルダーに抽出されるため、これを使用して .msu ファイルの完全なパスも確認できます。

IS2009 以降の前提条件シェルがターゲットを実行し、.msu ファイルをネイティブにサポートするため、アップグレードすると直接サポート (およびWindows Installer 4.5 の前提条件が含まれます) が得られます。IS2009 以降では、必須ファイルの検索に使用できる必須コマンドライン プロパティもサポートされています。InstallShield 2009 リリース ノートを参照し、ISPREREQDIR を検索してください。

于 2010-02-27T16:08:09.133 に答える