0

Wix インストーラーの APPDATA の場所にいくつかのファイルを送信しました。以下のコードを使用しています。管理モードでセットアップを実行すると、その場所にtxtファイルがインストールされます。ただし、ファイルは管理者以外のユーザーには出荷されません。この問題を解決するために私を助けてください。</p>

<CustomAction Id="PropertySource" Property="APPPATH" Value="[LocalAppDataFolder]APP1\APP2" /><Directory Id="APPPATH">
<Directory Id="Application">
    <Component Id="comp_txt" Guid="{10E0A568-3E37-49BD-A70B-8D7F63A17011}">
        <File Id="file_234487642387111122391332" Source="..\..\..\App.txt" />
    </Component>
</Directory></Directory>

InstallExecuteSequence および InstallUISequence の下

<Custom Action="PropertySource" Sequence="1278" />

4

1 に答える 1

1

LocalAppDataFolder は既に有効なディレクトリ ID です。カスタム アクションや APPDATA プロパティは必要ありません。app1 と app2 を LocalAppDataFolder のサブディレクトリとして通常の方法で定義するだけです。つまり、Directory 要素をネストします。

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="LocalAppDataFolder">
        <Directory Id="app1folder" Name="App1">
            <Directory Id="app2folder" Name="App2" />
        </Directory>
    </Directory>
</Directory>

次に、目的のフォルダーにコンポーネントをインストールします。

<DirectoryRef="app2folder">
    <Component Id="App.txt">
        <File Source="..\..\..\App.txt" />
    </Component>
</DirectoryRef>

また、 のような厄介なパスを使用する代わりに、次のようなオプションで..\..\..\App.txtベース パスを渡すことができることに注意してください。light.exe-b

light.exe -o mysetup.msi -b path\to\my\files *.wixobj

そして、 のベース パスに対する相対パスを使用できますSource

于 2012-07-12T23:20:53.957 に答える