ヘルパー DLL と、セットアップ スクリプトの最後に呼び出す関数があります。オペレーティングシステムのバージョンに応じて実行したいだけです。
コード セクションに次の行を含めます。
function CompleteInstall(szInstallPath: String) : Integer;
external 'CompleteInstall@files:InstallHelper.dll cdecl setuponly';
[Files] セクションの DLL の Source ステートメントに「Check: IsXPorHigher」を追加して、DLL が抽出されないようにする関数を作成しました。
セットアップ プログラムが開始されると、external ステートメントが原因で外部関数を解決しようとし、実行時エラー (インポートできません...) が発生するようです。私の DLL は、古い OS では使用できない関数に依存しているためです。
スクリプトで関数を条件付きで宣言できますか?それとも、古いバージョンの OS 用に別のインストーラーが必要ですか? 私は、すべてのシナリオに対して 1 つのスクリプトだけを維持するように努めています。