1

こんにちは私はユーザーがディレクトリIDを使用できるように設定する方法を指定する場所からファイルをコピーする必要がありますか?

このようなもの!(これは機能しません)

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="name" >

            <Component Id="id1" Guid="GUID">
                <File Name="dll.dll" DiskId="1" Vital="yes"
                      Source="[MYDIR]\dll.dll" />
            </Component>

        </Directory>
        <Directory Id="MYDIR" Name="mydirname" >
        </Directory>
    </Directory>
</Directory>

私はbrowsedialogを持っているので、MYDIRを設定しますが、ユーザーは必要なファイルを見つける場所を指定し、ソースとしてそのパスを使用したいのですが、これは可能ですか?

答えてくれてありがとう

編集

私は私の中に入れましたINSTALLDIR

<CopyFile Id="dll.dll" 
SourceDirectory="MYDIR" 
SourceName="dll.dll" 
DestinationDirectory="INSTALLDIR" 
DestinationName="dll.dll" />

うまくいきました:)

これに関する唯一の問題は、パスが間違っていてファイルがコピーされていない場合、インストーラーが実行され、ファイルを取得できません:(したがって、パスを検証するか、カスタムアクションを実行してファイルが存在するかどうかを確認する必要があります

とにかくすべてに感謝します!:D

4

1 に答える 1

1

はい、可能です。CopyFile要素が必要なものだと思います。

<Component Id="MyComponent" Guid="YOUR_GUID">  
 <CopyFile Id="dll.dll" SourceProperty="[MYDIR]" SourceName="dll.dll" DestinationDirectory="INSTALLDIR" DestinationName="dll.dll" /> 
</Component>
于 2012-12-20T09:42:45.150 に答える