2017-02-09 8 views
1

私は32ビットと64ビットのdllを含むインストーラを持っています。 64ビットシステムでは、両方のバージョンを32ビットシステムにインストールしたいだけですが、32ビットバージョンのみをインストールします。Inno Setup:Select Destination Locationページに複数のディレクトリを指定するにはどうすればいいですか?

次のように私の[Files]セクションでは、次のとおりです。

[Files] 
Source: "C:\Users\..\x64\my.dll"; DestDir: "{pf64}\{#MyPath}"; Check: IsWin64 
Source: "C:\Users\..\my.dll"; DestDir: "{pf32}\{#MyPath}" 

このすべては、私が「[インストール先の場所」ページで

  • をインストールしたディレクトリを上書きする場合はまず、それが唯一のを聞かせてことを除いて、正常に動作します私はpf32のパスを上書きします
  • 2番目に、インストールディレクトリを上書きすると何もインストールされません

"目的地の選択"が32ビットの場所に1回、64ビットの場所に1回というようにインストーラを設定する方法はありますか?

答えて

0

最も簡単なのは、2番目のディレクトリの追加ページを追加することです。例については

は、以下を参照してください


もちろん、標準の「インストール先の選択」ページに2つ目のボックスを追加することができます。しかしそれはより多くの仕事です。


実際に( yesから DisableDirPageを設定することで)完全に「インストール先の指定」ページを無効にして、上記の技術を使用して、新しい同様のページを実装するかもしれない実装が容易になります。

この場合、選択したカスタムディレクトリの1つにインストールディレクトリを設定して、Inno Setupがアンインストールデータを保存する場所を認識できるようにしてください。それ以外の場合、Inno SetupはDefaultDirNameによって設定されたディレクトリを作成します(そこにアンインストールデータを格納します)。またはCreateAppDirnoに設定します。 Inno Setupのアンインストール情報は{win}になりますが、それはいいとは言えません。

Use two/multiple selected directories from custom page in Files sectionを参照してください。問題は、あなたが実際に固定した場所にファイルをインストールすることで、「プログラムファイル」、{pfXX}定数を使用:2番目の質問については


。 [Select Destination Location]ページでユーザーが選択した場所にインストールするには、{app} constantを使用する必要があります。

+0

ありがとうございました。私は 'DisableDirPage = yes'に行き、2番目のリンクに記載されているように自分自身をローリングしました。 –

+0

インストールディレクトリを選択したカスタムディレクトリの1つに設定して、Inno Setupがアンインストールデータを保存する場所を認識できるようにしてください。さもなければ、Inno Setupは 'DefaultDirName'によって設定されたディレクトリを作成します(そこにアンインストールデータを格納します)。 –

+0

ありがとう!私は実際にアンインストールを無効にしました。カスタムレジストリキーを使用して以前のインストール場所を「覚えています」。私の使用例ではアンインストールが余計です –

関連する問題