2

私は Wix プロジェクトに取り組んでいます。新しいファイル拡張子を関連付ける必要があります。それ自体はシンプルに見えます。問題は、新しい拡張子を、標準の Windows NotePad.exe で開くことができるテキスト ファイルの種類として関連付けたいということです。私が抱えている問題/懸念は、メモ帳の XP バージョンをコピーしてエンドユーザーの System32 内にインストールし、既に存在するはずの XP、Vista、Windows7 などのメモ帳を上書きしたくないということです。

この関連付けを適切に参照するにはどうすればよいですか。

@Sunilにクレジットされた最終回答

Wix 3.5 は、システム フォルダーとファイル名を含むターゲット ファイルが気に入らなかったため、コンポーネント/ディレクトリ内で、問題のファイルを指すファイル ID エントリを作成し、このファイル ID 参照への拡張子の関連付けを作成しました以下のように...

<File Id="LinkingNotePad" Source="$(env.windir)\Notepad.exe" ></File>

<ProgId Id="MyProgID" Description="Text files for my new extension" Advertise="no" >
   <Extension Id="myExt" ContentType="application/text" Advertise="no" >
      <Verb Command="Open" Id="regMyProgID" TargetFile="LinkingNotePad" Argument="%1" />
   </Extension>
</ProgId>

上記のサンプルでは、​​ターゲット ファイルの場所を明示的に指定していないため、ターゲット ファイルを解決できません。私のバージョンを取得してユーザーのバージョンを上書きしたくありません。

ありがとう

4

2 に答える 2

4

すべてのシステム ファイルは、WIX 変数「SystemFolder」を使用してアクセスできます。

SystemFolder は、デフォルトの Windows フォルダー パスを提供します。だからあなたは持っているでしょうTargetFile=[SystemFolder]Notepad.exe"

于 2011-08-01T18:01:40.117 に答える
0

Windows インストーラーは、既にインストールされている製品のファイルの関連付けをサポートしていません。したがって、既存のファイルのファイル関連付けを作成する場合は、レジストリ エントリを使用して手動で作成することができます。

于 2011-08-01T21:26:53.567 に答える