0

InstallShield 2014 Pro と C# 自動化を使用して、TFS 経由でビルドを処理しています。setup.exe としてビルドし、GUI を使用して setup.exe から前提条件を抽出するように構成できますが、コードで実行すると、「InstallShield Prerequisites Location」が設定されません。「Setup.exe から抽出」または「個々の選択に従う」で問題ありません。Webメディア形式であっても、常にデフォルトで「ソースメディアからコピー」に設定されます....

新しく作成したリリースに設定した設定は次のとおりです。

m_Release.Compressed = true;
m_Release.MediaType = 4;
m_Release.SetupEXE = true;
m_Release.MSIEngineLocation = ISWiEngineLocation.eelSetupExe;
m_Release.MsiEngineVersion = ISWiMSIEngineVersion.eev31;
m_Release.DotNetVersion = ISWiDotNetVersion.env11;
m_Release.DotNetFrameworkLocation = ISWiDotNetFrameworkLocation.dnlSetupExe;
m_Release.WebType = ISWiWebType.ewtOneExe;
m_Release.DelayMSIEngineReboot = false;

私が見逃していない限り、ヘルプにはこれに関するオプションはありません: http://helpnet.installshield.com/installshield21helplib/installshield21helplib.htm

少なくとも、ISRelease (ダイレクト エディター) の ISSetupPrerequisiteLocation に絞り込んだと思います。1 である必要がありますが、デフォルトは 0 です。変更方法はまだわかりません。

ところで、すべての前提条件が setup.exe から抽出するように設定されていることを 3 回確認しました。

4

1 に答える 1

0

私が知る限り、API を介してこの値を設定することはできません。

xml またはバイナリの .ism ファイルを手動で編集して設定できますが、その問題を解決したい人はいません。私が行った最も簡単な修正は、フィールド セットを持つリリースを常に再利用することでした。私たちは当初、インストール シールドで新しいリリースを作成していたため、フィールドを設定する必要がありました。ファイルはバージョン管理/タグ付けされているため、古いリリースに戻ることは大したことではありません。

于 2015-07-30T19:01:50.473 に答える