1

.NET アセンブリを GAC にインストールする Wix インストーラーを作成しています。簡単...

私の質問は: 正確なアセンブリ名をハードコーディングすることなく、既存のネットワーク フォルダーにある任意のアセンブリをプルして、それぞれを登録できるように、このシナリオを将来証明することは可能ですか? これにより、将来何度も再利用できる単一の MSI を作成できます。

現在、私のコードは個々の DLL を指しており、次のようになっています。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="16c27e1f-8f59-40bc-9ce6-ba816eae4323" Name="GACInstaller" Language="1033" Version="1.0.0.0" Manufacturer="GACInstaller" UpgradeCode="7fb35788-63aa-4cb1-9ad2-fd965cdeb7c8">
    <Package InstallerVersion="200" Compressed="yes" />

        <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLLOCATION" Name="GACInstaller">
                    <Component Id="ProductComponent" Guid="ae2bb9bd-f8d6-4060-b25b-8147fac155d6"> 
            <File Id='my_assembly' Name='my_assembly.dll' KeyPath='yes' Assembly='.net' Source='C:\my_assembly.dll' /> 
                    </Component> 
                </Directory>
            </Directory>
        </Directory>

        <Feature Id="ProductFeature" Title="GACInstaller" Level="1">
            <ComponentRef Id="ProductComponent" /> 
    </Feature>
    </Product>
</Wix>
4

1 に答える 1

3

いいえ、そうではありません。MSIではファイルだけでなく更新する必要があります。たとえば、ProductCode(Product / @ Id)は、インストールごとに一意である必要があります。ファイルテーブル情報はすべて更新する必要があります。WiXツールセットがすべてを処理するので、私が忘れていることは他にもあると確信しています。

于 2009-08-03T18:51:08.690 に答える