cppcheck/win_installer/cppcheck.wxs

177 lines
12 KiB
XML

<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<?include productInfo.wxi ?>
<?include config.wxi ?>
<Product Name='$(var.ProductName)' Id='*' UpgradeCode='$(var.ProductUpgradeCode)'
Language='1033' Codepage='1252' Version='$(var.ProductVersion)' Manufacturer='$(var.ProductManufacturer)'>
<Package Id='*' Keywords='Installer' Description="$(var.ProductName) Setup"
Comments='$(var.ProductDescription)' Manufacturer='$(var.ProductManufacturer)'
InstallerVersion='405' Languages='1033' Compressed='yes' SummaryCodepage='1252' InstallScope='perMachine'/>
<Media Id='1' Cabinet='Cppcheck.cab' EmbedCab='yes' CompressionLevel='high' DiskPrompt='CD-ROM 1' />
<Property Id='DiskPrompt' Value='Cppcheck installation [1]' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='System32' FileSource='SystemFolder' />
<Directory Id='$(var.PlatformProgramFilesFolder)' Name='PFiles'>
<Directory Id='INSTALLDIR' Name='$(var.ProductNameShort)'>
<Component Id='cppcheckcore.dll' Guid='$(var.cppcheckcoreGUID)'>
<File Id='cppcheckcore.dll' Name='cppcheck-core.dll' DiskId='1' Source='$(var.CliBuildDir)\cppcheck-core.dll' KeyPath='yes' />
</Component>
<Component Id='cppcheck.exe' Guid='$(var.cppcheckGUID)'>
<File Id='cppcheck.exe' Name='cppcheck.exe' DiskId='1' Source='$(var.CliBuildDir)\cppcheck.exe' KeyPath='yes' />
</Component>
<Component Id='RegistryEntries' Guid='$(var.registrykeysGUID)'>
<RegistryKey Root="HKCU" Key="SOFTWARE\$(var.ProductNameShort)" ForceDeleteOnUninstall="yes">
<RegistryValue Name="InstallationPath" Value="[INSTALLDIR]" Type="string" KeyPath="yes" />
<RegistryValue Name="Version" Value="$(var.ProductVersion)" Type="string" />
</RegistryKey>
</Component>
<Component Id='GuiExecutable' DiskId='1' Guid='$(var.guiGUID)'>
<File Id='cppcheckguiexe' Name='cppcheckgui.exe' Source='$(var.GuiBuildDir)\cppcheck-gui.exe' KeyPath='yes'>
<Shortcut Id='startmenuGui' Directory="ProgramMenuDir" Name='$(var.ProductNameShort)'
WorkingDirectory='INSTALLDIR' Icon="cppcheckgui.exe" IconIndex="0" Advertise="yes" />
</File>
<File Id='Qt5Coredll' Name='Qt5Core.dll' Source='$(var.QtDllDir)\Qt5Core.dll' />
<File Id='Qt5Guidll' Name='Qt5Gui.dll' Source='$(var.QtDllDir)\Qt5Gui.dll' />
<File Id='Qt5Widgetsdll' Name='Qt5Widgets.dll' Source='$(var.QtDllDir)\Qt5Widgets.dll' />
</Component>
<Directory Id='QtPlatformsFolder' Name='platforms'>
<Component Id='QtPlatforms' DiskId='1' Guid='$(var.qtplatformsGUID)'>
<File Id='qwindowsdll' Name='qwindows.dll' Source='$(var.QtDllDir)\platforms\qwindows.dll' />
</Component>
</Directory>
<Directory Id='TranslationsFolder' Name='lang'>
<Component Id='GuiTranslations' Guid='$(var.guiTranslationsGUID)'>
<File Id='cppcheck_de.qm' Name='cppcheck_de.qm' Source='$(var.TranslationsDir)\cppcheck_de.qm' />
<File Id='cppcheck_es.qm' Name='cppcheck_es.qm' Source='$(var.TranslationsDir)\cppcheck_es.qm' />
<File Id='cppcheck_fi.qm' Name='cppcheck_fi.qm' Source='$(var.TranslationsDir)\cppcheck_fi.qm' />
<File Id='cppcheck_fr.qm' Name='cppcheck_fr.qm' Source='$(var.TranslationsDir)\cppcheck_fr.qm' />
<File Id='cppcheck_it.qm' Name='cppcheck_it.qm' Source='$(var.TranslationsDir)\cppcheck_it.qm' />
<File Id='cppcheck_ja.qm' Name='cppcheck_ja.qm' Source='$(var.TranslationsDir)\cppcheck_ja.qm' />
<File Id='cppcheck_ko.qm' Name='cppcheck_ko.qm' Source='$(var.TranslationsDir)\cppcheck_ko.qm' />
<File Id='cppcheck_nl.qm' Name='cppcheck_nl.qm' Source='$(var.TranslationsDir)\cppcheck_nl.qm' />
<File Id='cppcheck_ru.qm' Name='cppcheck_ru.qm' Source='$(var.TranslationsDir)\cppcheck_ru.qm' />
<File Id='cppcheck_sv.qm' Name='cppcheck_sv.qm' Source='$(var.TranslationsDir)\cppcheck_sv.qm' />
<File Id='cppcheck_sr.qm' Name='cppcheck_sr.qm' Source='$(var.TranslationsDir)\cppcheck_sr.qm' />
<File Id='cppcheck_zh_CN.qm' Name='cppcheck_zh_CN.qm' Source='$(var.TranslationsDir)\cppcheck_zh_CN.qm' />
</Component>
</Directory>
<Directory Id='CfgsFolder' Name='cfg'>
<Component Id='MandatoryCfgs' Guid='$(var.mandatoryCfgsGUID)'>
<File Id='std.cfg' Name='std.cfg' Source='$(var.CfgsDir)\std.cfg' />
</Component>
<Component Id='OptionalCfgs' Guid='$(var.optionalCfgsGUID)'>
<File Id='gtk.cfg' Name='gtk.cfg' Source='$(var.CfgsDir)\gtk.cfg' />
<File Id='posix.cfg' Name='posix.cfg' Source='$(var.CfgsDir)\posix.cfg' />
<File Id='qt.cfg' Name='qt.cfg' Source='$(var.CfgsDir)\qt.cfg' />
<File Id='sdl.cfg' Name='sdl.cfg' Source='$(var.CfgsDir)\sdl.cfg' />
<File Id='windows.cfg' Name='windows.cfg' Source='$(var.CfgsDir)\windows.cfg' />
<File Id='microsoft_sal.cfg' Name='microsoft_sal.cfg' Source='$(var.CfgsDir)\microsoft_sal.cfg' />
<File Id='avr.cfg' Name='avr.cfg' Source='$(var.CfgsDir)\avr.cfg' />
</Component>
</Directory>
<Component Id='BaseDocs' Guid='$(var.basedocsGUID)'>
<File Id='authors.txt' Name='authors.txt' DiskId='1' Source='..\authors' />
<File Id='readme.txt' Name='readme.txt' DiskId='1' Source='..\readme.txt' />
</Component>
<!-- Cleanup runtime files installed by previous InnoSetup installer.
Also remove old gui.exe which is now cppcheck-gui.exe.
Remove old Swedish translation file which was renamed.
Remove old English translation that is not needed.
Remove locally installed help file that didn't work.
Remove Qt DLLs not needed anymore
-->
<Component Id='InnoSetupCleanup' Guid='4A3F299D-1EE1-468b-814B-D6577F0698CA'>
<RemoveFile Id="msvcp90.dll" On="install" Name="msvcp90.dll" />
<RemoveFile Id="msvcr90.dll" On="install" Name="msvcr90.dll" />
<RemoveFile Id="Microsoft.VC90.CRT.manifest" On="install" Name="Microsoft.VC90.CRT.manifest" />
<RemoveFile Id='libgcc_s_dw2_1_dll' On='install' Name='libgcc_s_dw2-1.dll' />
<RemoveFile Id='mingwm10dll' On='install' Name='mingwm10.dll' />
<RemoveFile Id='libpcre0dll' On='install' Name='libpcre-0.dll' />
<RemoveFile Id="gui.exe" On="install" Name="gui.exe" />
<RemoveFile Id="cppcheck_se.qm" On="install" Name="cppcheck_se.qm" />
<RemoveFile Id="cppcheck_en.qm" On="install" Name="cppcheck_en.qm" />
<RemoveFile Id="cppcheck_pl.qm" On="install" Name="cppcheck_pl.qm" />
<RemoveFile Id="onlinehelp.qhc" On="install" Name="onlinehelp.qhc" />
<RemoveFile Id="qtclucene4dll" On="install" Name="qtclucene4.dll" />
<RemoveFile Id="qthelp4dll" On="install" Name="qthelp4.dll" />
<RemoveFile Id="qtnetwork4dll" On="install" Name="qtnetwork4.dll" />
<RemoveFile Id="qtsql4dll" On="install" Name="qtsql4.dll" />
<RemoveFile Id='qtxml4dll' On='install' Name='qtxml4.dll' />
<RemoveFile Id='qtcore4dll' On='install' Name='qtcore4.dll' />
<RemoveFile Id='qtgui4dll' On='install' Name='qtgui4.dll' />
</Component>
</Directory>
<Merge Id="CRT" Language="0" SourceFile="$(var.CrtMergeModule)" DiskId="1" />
</Directory>
<Directory Id='ProgramMenuFolder' Name='Programs' >
<Directory Id='ProgramMenuDir' Name='$(var.ProductName)'>
<Component Id='ProgramMenuDir' Guid='*'>
<RemoveFolder Id='ProgramMenuDir' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\Cppcheck\$(var.ProductName)' Type='string' Value='' KeyPath='yes' />
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id='Complete' Title='$(var.ProductName)' Description='The complete package.'
Display='expand' Level='1' AllowAdvertise='no' ConfigurableDirectory='INSTALLDIR' >
<Feature Id='CppcheckCore' Display='hidden' AllowAdvertise='no' Title='Cppcheck-Core' Description='Cppcheck core components' Level='1'>
<ComponentRef Id='cppcheckcore.dll' />
<ComponentRef Id='RegistryEntries' />
<ComponentRef Id='BaseDocs' />
<ComponentRef Id='InnoSetupCleanup' />
<ComponentRef Id='MandatoryCfgs' />
</Feature>
<Feature Id='CLI' Title='Command line interface' AllowAdvertise='no' Description='Cppcheck as a command line tool' Level='1'>
<ComponentRef Id='cppcheck.exe' />
</Feature>
<Feature Id='GUI' Title='Graphical interface' AllowAdvertise='no' Description='Cppcheck with a graphical user interface' Level='1'>
<ComponentRef Id='RegistryEntries' />
<ComponentRef Id='GuiExecutable' />
<ComponentRef Id='QtPlatforms' />
<Feature Id='Translations' Title='GUI Translations' AllowAdvertise='no' Description='Translations for graphical user interface' Level='1'>
<ComponentRef Id='GuiTranslations' />
</Feature>
<ComponentRef Id='ProgramMenuDir' />
</Feature>
<Feature Id='ConfigFiles' Title='Additional configurations' AllowAdvertise='no' Description='Provide additional configuration files, for example for WinAPI, GTK and SDL' Level='1'>
<ComponentRef Id='OptionalCfgs' />
</Feature>
<Feature Id="CRT" AllowAdvertise="no" Display="hidden" Level="1" Title="Microsoft Visual C++ 2010 Runtime Components">
<MergeRef Id="CRT"/>
</Feature>
</Feature>
<MajorUpgrade DowngradeErrorMessage='Downgrade is not allowed'/>
<!--Remove pre 1.57 versions which can't be upgraded with MajorUpgrade-->
<InstallExecuteSequence>
<Custom Action='UninstallOld152' After='InstallFinalize'>NOT Installed</Custom>
<Custom Action='UninstallOld153' After='InstallFinalize'>NOT Installed</Custom>
<Custom Action='UninstallOld154' After='InstallFinalize'>NOT Installed</Custom>
<Custom Action='UninstallOld155' After='InstallFinalize'>NOT Installed</Custom>
<Custom Action='UninstallOld156' After='InstallFinalize'>NOT Installed</Custom>
</InstallExecuteSequence>
<CustomAction Id='UninstallOld152' Directory='System32' ExeCommand="msiexec.exe /X {836AF028-6EE2-457C-B242-19D61701BAA3} /qn" Execute="immediate" Return="asyncNoWait"/>
<CustomAction Id='UninstallOld153' Directory='System32' ExeCommand="msiexec.exe /X {42850B7E-CD5F-449A-B6DA-C423156D2ACF} /qn" Execute="immediate" Return="asyncNoWait"/>
<CustomAction Id='UninstallOld154' Directory='System32' ExeCommand="msiexec.exe /X {7722557B-4B10-4E8F-918A-78FBAEFB09B1} /qn" Execute="immediate" Return="asyncNoWait"/>
<CustomAction Id='UninstallOld155' Directory='System32' ExeCommand="msiexec.exe /X {211B2B89-3FE0-4F49-88CC-27E283BEC010} /qn" Execute="immediate" Return="asyncNoWait"/>
<CustomAction Id='UninstallOld156' Directory='System32' ExeCommand="msiexec.exe /X {1CC8C271-A877-4DF0-B1DE-C1B7D83521BC} /qn" Execute="immediate" Return="asyncNoWait"/>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<UIRef Id="WixUI_FeatureTree"/>
<Icon Id='cppcheckgui.exe' SourceFile='$(var.GuiBuildDir)\cppcheck-gui.exe' />
<Property Id="ARPPRODUCTICON" Value="cppcheckgui.exe" />
<WixVariable Id="WixUILicenseRtf" Value="GPLv3.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="images\banner.jpg" />
<WixVariable Id="WixUIDialogBmp" Value="images\dialog.jpg" />
</Product>
</Wix>