0

WiXプロジェクトにプロジェクト参照を追加しましたが、インストールされているファイルを確認するまで、すべてが機能しているように見えました。

彼らはもはや彼らの拡張を持っていません!したがって、その拡張機能に登録されているアプリケーションで自動的に開くことはできません。

関連するコードは次のとおりです。

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="My WiX Test">
            <Component Id="ExeCom" Guid="PUT-GUID-HERE" Directory="INSTALLDIR">
                <File Id="ExeFile" Name="ExeFile" Source="$(var.MyForm.TargetPath)" KeyPath="yes"/>
            </Component>
            <Component Id="TxtCom" Guid="PUT-GUID-HERE" Directory="INSTALLDIR">
                <File Id="TxtFile" Name="TxtFile" Source="sometextfile.txt" KeyPath="yes"/>
            </Component>
        </Directory>
    </Directory>
</Directory>

<Feature Id="Complete" Title="Complete" Level="1">
    <ComponentRef Id="ExeCom"/>
    <ComponentRef Id="TxtCom"/>
</Feature>

インストールしたら、インストールフォルダー(Program Files \ My WiX Test)に移動し、exeファイルをクリックしてアプリを起動する予定です。ただし、フォルダ内のどのファイルにも拡張子はありません。ファイルの名前を手動で変更して.exeまたは.txtを追加するか、[プログラムから開く]ダイアログを実行する必要があります。

WiXに拡張機能を追加するように強制する方法はありますか、それとも何か間違ったことをしていますか?

4

1 に答える 1

2

コメントで既に述べたように、(自動検出を使用した小さな場所を見つけるためにプロジェクト内の多くの .wxs ファイルに対して) 最も簡単な方法は、name=プロパティ内で拡張子を指定することです。

多少の苦労の末、どの ID がどの名前に属し、どのファイルがビルドからどのファイルに属しているかを参照する必要がないように、拡張機能と同じように ID に名前を付けるスタイルに行き着きました。

例:

<Component Id="ImplantCopyRight">
<File Id="Copyright.txt" Name="Copyright.txt" 
Source="$(var.SourceRoot)/08-Impl/img/license/Implants/Copyright.txt" />
于 2013-02-07T13:31:12.223 に答える