OSが64bitの場合は、Program Files (x86)
フォルダに32bit DLLをインストールし、Program Files
フォルダに64bit DLLをインストールしてそれぞれ登録したいと思います。 32ビットOSの場合は、ファイルを通常のプログラムフォルダにコピーして登録したいだけです。Inno Setup 32bitと64bit dllのインストール
どうすればInno Setupで行うことができますか?また、64bit DLLは64bit regsvr32
プログラムによって登録されますか?
ここまでは私のコードです。それは32ビットOS上でうまく動作しますが、64ビットOSでは、Program Files (x86)
の両方のファイルセットをダンプします。
[Files]
Source: D:\..\32bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 32bit
Source: D:\..\64bit files\mylibrary.dll; DestDir: {app}; \
Flags: restartreplace ignoreversion regserver 64bit; Check: IsWin64
私は64BitTwoArch.iss
例を見てきましたが、それはない32ビットと64ビットのインストールインストール32ビットまたは64ビットを行う方法について説明します。
両方のファイルを64ビット版Windowsにインストールし、インストール先フォルダをそれぞれ異なるようにするには、両方に同じDestDirを使用することはできません。実際にあなたがするべきことではない(とにかく{app}はとにかく{pf}の下にあることを保証することはできません)ので、それらを異なるフォルダにインストールするための "良い"解決策はありません。最適な解決策は、OSと一致する1つのファイルのみをインストールするか、または両方を同じフォルダに異なるファイル名でインストールすることです。 – Miral
私は@Miralが何を言いますか?あなたは{app}の醜い文字列操作を使用してそれを行うことができますが、最初に{pf}にインストールする保証はありません。 – Nyerguds