wix3.5

WIX multiple copies of same file in msi but only one will be installed

不问归期 提交于 2019-12-12 10:52:44
问题 i have multiple environments, build, test, prod etc. i'd like to create a single installer in wix, which can hold multiple machine.config files. then based on the feature value passed in through the command line only one file will be installed. conceptualy it sounds easy but i receive an ICE30 error stating that "ICE30: The target file 'btfrgsa_|[FILENAME]' is installed in '[TARGETDIR]\NETFRAMEWORK40FULLINSTALLROOTDIR64\CONFIG\' by two different components on an LFN system: 'MachineConfigs.WS

Edit context menu (selectiontree) in customize dialog?

拥有回忆 提交于 2019-12-12 01:32:40
问题 How do I edit the context menu (selectiontree) in a customize dialog? I don't want to display the option "entire feature will be installed on local hard drive". 回答1: You can't remove this option. It gets displayed when your feature has subfeatures and allows selecting all subfeatures for installation as well as the currently selected (parent) feature, without clicking each of child features. See also my answer to How to hide feature options. 来源: https://stackoverflow.com/questions/12929930

Wix and Eventlog

可紊 提交于 2019-12-11 22:17:19
问题 I have seen How do you create an event log source using WiX. My question is what is the common use (scenario) of specifying Event Source in Wix? I was thinking that specifying the source would list your application's install/uninstall process under that source in the event log so it would be easy to filter/check but even after doing that the source shows up as MsiInstaller for me. What am I doing wrong or am I misunderstanding the use of util:EventSource ? Here is my code : <Component Id=

How to register a COM dll on condition based in WIX Installer

女生的网名这么多〃 提交于 2019-12-11 17:47:27
问题 Am running a Command to register a dll using the below code in WIX installer <CustomAction Id='comReg' Directory='INSTALLLOCATION' Impersonate='no' Execute='deferred' ExeCommand='"[NETFRAMEWORK40CLIENTINSTALLROOTDIR]regasm.exe" "[INSTALLLOCATION]myProduct.dll" /codebase' Return='check' /> <CustomAction Id='comUnreg' Directory='INSTALLLOCATION' Impersonate='no' Execute='deferred' ExeCommand='"[NETFRAMEWORK40CLIENTINSTALLROOTDIR]regasm.exe" /u "[INSTALLLOCATION]myProduct.dll" /codebase' Return=

WiX: CustomAction based on the outcome of another CustomAction

孤人 提交于 2019-12-11 15:15:32
问题 I am fairly new to WiX so may be I am asking something very straight forward but I couldn't find much help googling it. I want to perform 2 customActions, say, ca1 and ca2, where execution of ca2 depends on outcome of ca1, something like below: if ( ca1 == SUCCESS ) { Perform ca2 } So ca2 should only be executed if my ca1 returns success (doesnt fails). What is the easiest way to do this in WiX ? 回答1: What you describe is the default. If a custom action fails, the installation aborts, and

WiX 3.7 IIS Setup

与世无争的帅哥 提交于 2019-12-11 15:05:01
问题 When running our installer, we have it configured to setup 3 websites in IIS, before the upgrade this worked as expected, even if the default website (or any site listening on the same port) was still present. If the website listening to Port 80 was already started, WiX would create the website from our installer, and just not start it (which is what I'd expect). Since upgrade to 3.7, however, what I've found is that the installer does not create the website if there is any other site

error LGHT0094 : The identifier 'CustomAction:WixUIPrintEula' could not be found

那年仲夏 提交于 2019-12-11 14:58:25
问题 When I run the below command from the command line for the WIx installer after migrated from version 2.0 to 4.0: E:\Code\PCPE\builder>ant -v -f Build.xml -Dlabel =.001 install I am getting the below error. [exec] E:\Code\EMR\Wix\src\ui\LicenseAgreementDlg.wxs(34) : error LGHT0094 : The identifier 'CustomAction:WixUIPrintEula' could not be found. Ensure you have typed the reference correctly and that all the necessary inputs are provided to the linker. [ant] Exiting E:\Code\EMR\builder

Wix uninstall product using command line during installation

蓝咒 提交于 2019-12-11 11:50:01
问题 I made a Wix project that attemps to install a simple .txt example file. But, as a prerequisite, I want to uninstall a previous application. To do so, I know msiexec allows you to uninstall a product by simply writing: msiexec /x {PRODUCT_CODE} on a command line. Fortunately, I know this PRODUCT_CODE , so I tried to create a CustomAction to uninstall that product before the installation starts, like this: <CustomAction Id="PropertyAssign" Property="SilentLaunch" Value="msiexec.exe /x

How to make Win64 attribute as a variable in wixlib?

三世轮回 提交于 2019-12-11 10:49:45
问题 We have some components in wixlib project and different installer projects reference it. The problem is Win64 attribute and several others as per my investigation can be bound only to preprocessor variable. <Component Id="someid" Guid="someguid" Directory="$(var.FrameworkFolder)" Win64="$(var.Platform64)"> <File Id="somefile" Name="somename" DiskId="1" KeyPath="yes" Source="$(var.OutputFolder)\somefile"/> </Component> Currently, that forces us to have the library dynamically referencing

Switching from WiX 3.0 to 3.5 decreased msi size from 100Mb to 4Mb?

允我心安 提交于 2019-12-11 10:29:19
问题 After upgrading my installer build to WiX 3.5 the msi size fell from 100Mb down to only 4Mb! At first I thought some files were excluded from MSI, so I ran light.exe 3.0 and 3.5 with -v (verbose) and -notidy (to keep the temp files) options, checked the cab files, and indeed in case of 3.5 the cab file was 3.8Mb while the 3.0 produced 98Mb. Looking inside the cab, all the files seem to be present. Tried extracting both cabs -- the output looks identical. Finally, still not believing my eyes I