WiX Wrapper Exe installer

WiX Wrapper Exe installer

使用WiX来封装Exe成为MSI文件

https://github.com/pennmanor/wix-wrapper/blob/master/owncloud.wxs


<?xml version='1.0'?>
<?define ProductVersion = "2.0.2"?> <!-- Match ownCloud Client version -->
<?define PrevProductVersion = "2.0.1"?> <!-- Match previous ownCloud Client version -->
<?define ExeSourceFile = "ownCloud-2.0.2.5569-setup.exe"?> <!-- Match new .exe -->
<?define ProductCode = "87CA6CC7-4F67-4663-974A-53BA46DA8E34"?> <!-- Regenerate for new upgrade -->
<?define ProductUpgradeCode = "5a4f6818-b8b2-4fda-b43c-9959a6d734ad"?> <!-- When upgrading, move previous ProductCode here -->
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
        <Product Id='*'
                UpgradeCode="$(var.ProductUpgradeCode)"
                Name='ownCloud Sync Client'
                Language='1033'
                Version='$(var.ProductVersion)'
                Manufacturer='Penn Manor ownCloud'>
                <Package Id='$(var.ProductCode)'
                        Description='ownCloud Client $(var.ProductVersion)'
                        InstallerVersion='200'
                        Compressed='yes' />
                <Media Id='1' Cabinet='setup.cab' EmbedCab='yes' />
                <Directory Id='TARGETDIR' Name='SourceDir'>
                        <Directory Id="TempFolder">
                                <Directory Id="INSTALLLOCATION" Name="~_tmpdir">
                                        <Component Id='MyComponent' DiskId='1' Guid='B3514243-DFB8-4BB1-8495-ED6153468361'>
                                                <File Id="File0" Name="$(var.ExeSourceFile)" Source="$(var.ExeSourceFile)" />
                                        </Component>
                                </Directory>
                        </Directory>
                </Directory>
                <Upgrade Id="$(var.ProductUpgradeCode)">
                        <UpgradeVersion Minimum="$(var.ProductVersion)"
                                IncludeMinimum="no"
                                OnlyDetect="yes"
                                Language="1033"
                                Property="NEWPRODUCTFOUND" />
                        <UpgradeVersion Minimum="$(var.PrevProductVersion)"
                                IncludeMinimum="yes"
                                Maximum="$(var.ProductVersion)"
                                IncludeMaximum="no"
                                Language="1033"
                                Property="UPGRADEFOUND" />
                </Upgrade>
                <Property Id="ARPSYSTEMCOMPONENT" Value="1" />
                <Feature Id='InstallFeature' Title='Install Feature' Level='1'>
                        <ComponentRef Id='MyComponent' />
                </Feature>


                <!-- Prevent downgrading -->
                <CustomAction Id="PreventDowngrading" Error="Newer version already installed." />


                <InstallUISequence>
                        <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
                </InstallUISequence>


                <!-- Run Action -->
                <CustomAction Id="RunWrapExe"
                        Return="ignore"
                        Execute="deferred"
                        FileKey="File0"
                        ExeCommand="$(var.ExeSourceFile) /S"
                        HideTarget="no"
                        Impersonate="no" />
                <InstallExecuteSequence>
                        <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom>
                        <Custom Action="RunWrapExe" After="InstallFiles">NOT REMOVE~="ALL"</Custom>
                        <RemoveExistingProducts After="InstallFinalize" />
                </InstallExecuteSequence>
        </Product>
</Wix>

你可能感兴趣的:(msi,installer,WiX)