0

私の Wix プロジェクトでは、外部アプリケーションを新しいファイル タイプのデフォルト プログラムとして設定する必要があるため、レジストリ キーにいくつかのファイルの関連付けを追加します (奇妙なことに、プラグインを開発していて、プラグインが見つかりません)。外部プログラムを処理するためのネイティブな方法)。MSDN によると、ファイルの関連付けを変更する場合は SHChangeNotify を呼び出す必要があります。そうでない場合、新しい関連付けはシステムが再起動するまで機能しません。これが私の問題です。Wix でこれを行うにはどうすればよいですか? この機能を実装するツールを見つけましたが、Wix インストーラーでこれをハードコードする必要があります。

[解決策] まず、@BdN3504 が示すように ProgId 要素を追加します。次に、Custom Action を使用して SHChangeNotify を送信します。乾杯〜

4

1 に答える 1

1

この回答を見たことがありますか?

最初に でターゲット アプリケーションを見つけてからFileSearch、要素でそれを参照する必要がありExtensionます。

<Property Id="TARGETEXE">
    <DirectorySearch Path="C:\Program Files (x86)\App"
        Depth="0"
        AssignToProperty="no"
        Id="NppSearch">
            <FileSearch Name="Target.exe"
                Id="targetExeFileSearch" />
    </DirectorySearch>
</Property>
<ProgId Id='Fileassoc.assoc' Description='File extension description'>
  <Extension Id='assoc' ContentType='application/assoc'>
    <Verb Id='open' Command='Open' TargetProperty='TARGETEXE' Argument='"%1"' />
  </Extension>
</ProgId>

のドキュメントを参照してください。

于 2013-09-19T10:29:06.657 に答える