8

msi「Sample」フォルダーにいくつかのファイルを含むセットアップ ファイルを作成しました。このファイルは一時フォルダーにコピーする必要があります。誰もこれを行う方法を提案しますか?

4

2 に答える 2

10

このようなもの:

   <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="MyVendor" Name="MyVendor">
            <Directory Id="INSTALLDIR" Name="MyDir">
                <Component Id="MyFileId" Guid="...G1...">
                    <File Id="MyFileId" Name="MyFile" Source="...blabla...\MyFile" KeyPath="yes" >
                    </File>
                </Component>


     <DirectoryRef Id="TARGETDIR">
            <Component Id="MyFileCopyId" Guid="...G2...">
                <RemoveFile Id="MyFileRemoveId" Name="MyFile" On="install" Directory="MyCopyDir" />
                <CopyFile Id="MyFileCopyId" FileId="MyFileId" DestinationDirectory="MyCopyDir" />
            </Component>


    <Feature Id="MyFeature" ... >
            <ComponentRef Id="MyFileId" />
            <ComponentRef Id="MyFileCopyId" />

重要な Xml 要素は CopyFile です。最初のコンポーネントのコピーである新しいコンポーネントを作成する必要があります (もちろん、ID、GUID は異なります)。両方のコンポーネントを機能で宣言する必要があります。

于 2010-12-06T07:54:00.077 に答える
3

CopyFile要素はあなたの友達です。コピーする必要がある回数に応じて、元のFile要素の下に何度もネストできます。正しい宛先フォルダーを配置し、残りはWindowsインストーラーに任せます。

于 2010-12-06T09:55:25.240 に答える