wix3

In WiX how do I test for the existence of a registry key (not value) for Oracle ODP.Net

╄→гoц情女王★ 提交于 2019-11-28 21:17:23
More specifically I want to test whether Oracle ODP.Net is installed on a machine. I want to do this by testing for the HKLM\SOFTWARE\ORACLE\ODP.NET registry key. The actual values used by ODP.Net are stored in HKLM\SOFTWARE\ORACLE\ODP.NET\2.111.6.20 however I assume that this lower level key's name will change as updates are released by Oracle. I have tried the following which fails, possibly because the (Default) value doesn't really exist or possibly because it is null (I'm not sure exactly how it's represented in the registry). <Property Id="ORACLE_ODPNET"> <RegistrySearch Id="ODPNET

WiX: How to register application to start when Windows launches?

你。 提交于 2019-11-28 20:20:29
I'm exploring distribution of .NET desktop applications with MSI generated by WiX. So far it works great. But I've got a few questions, googling can't help out with. What's the advised way of registering application to start when windows launches (in WiX)? What WixUI could I use and how? Notes: The application is not a Windows Service and should not be registered as such. It would be nice to let user to disable that option in the setup process. Thanks in advance! Shay Erlichmen I found this using Google (Providing automatic program start via the Registry); it also includes adding UI. Don't

WiX 3.0 throws error 217, while being executed by continuous integration

假装没事ソ 提交于 2019-11-28 16:18:08
问题 This is the error that is thrown by our automated build suite on Windows 2008, while running ICEs (after migrating from WiX 2.0 to WiX 3.0): LGHT0217: Error executing ICE action 'ICE01'. The most common cause of this kind of ICE failure is an incorrectly registered scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for details and how to solve this problem. The following string format was not expected by the external UI message logger: "The Windows Installer Service could not

Copy if not exist in WiX

旧城冷巷雨未停 提交于 2019-11-28 12:09:24
I have a config file, myapp.exe.config, that I want to install only if it does not already exist. That is, I don't want to overwrite any existing config file. How can this be done in WiX? (Ultimately I will have to do something more sophisticated with settings, having defaults and overrides and so on. But in the meantime I am just looking for a short-term fix.) Wim Coenen What you describe is the default behavior if the file is the keypath of a component. For example, the following component will not be installed if foo.config already exists (or in the case of a versioned file, if a file with

Using Wix to create 32bit and 64bit installers from one .wxs file

跟風遠走 提交于 2019-11-28 06:47:24
I would like to keep my top level .wxs DRY while building 32 and 64 bit installers. I am using the -arch argument to candle.exe to control what default installer architecture is getting built. The wall I am hitting right now is that it appears the ProgramFilesFolder is different between 32 and 64bit (ProgramFiles64Folder) architectures. Here is my first attempt to work around: <?if $(sys.BUILDARCH)=x64 ?> <Directory Id='ProgramFiles64Folder' Name='PFiles'> <?else ?> <Directory Id='ProgramFilesFolder' Name='PFiles'> <?endif ?> <Directory Id='the-rest' Name="Company Name"> ... I tried this with

Features installed to different locations but referencing the same components

☆樱花仙子☆ 提交于 2019-11-27 18:14:49
问题 I have a product that consists of multiple features that can be installed to different locations e.g. Feature 1 is an executable installed in Program Files and Feature 2 is a website installed in wwwroot. However both Feature 1 and Feature 2 rely on many of the same dll's and hence require the components containing those dll's to be installed in 2 different locations depending on which Features are installed. Is there a way to achieve this without defining every component twice? To provide a

Wix - change the installation folder based on privilege

天涯浪子 提交于 2019-11-27 16:41:05
问题 I have to create an installation package using Wix. If an admin user is installing the package, it should install into %programfiles%/[applicationName], if the user is an non-admin user then it should install into its local profile folder( LocalAppDataFolder). How it is possible? 回答1: I wrote this for ClickThrough a long time ago. Solution from that looks a lot like this (You provide a Property called "ApplicationFolderName"): <Property Id="A" Secure="yes" /> <DirectoryRef Id="TARGETDIR">

Customizing text in the standard Wix dialogs

喜欢而已 提交于 2019-11-27 14:50:22
I'm making use of the Wix standard dialogs. How do I customise the text of the messages displayed? For example, in the License Agreement page, I want to change the text "I accept the terms in the License Agreement" to "I acknowledge and accept the terms of the above agreement." Related: How can I set at runtime the text to be displayed in VerifyReadyDlg ? Here's how I did it: Add a new Localisation file to my Votive project (ie my Visual Studio Wix project) - right-click, Add -> New Item... -> Wix Localisation file Since I was customising the english text, I made sure the Culture attribute in

Wix Open web page when uninstall completes

半世苍凉 提交于 2019-11-27 14:47:16
问题 I'm using Wix3. I need to open a web page when the user uninstalls the product. Any ideas how it can be done? Thanks. 回答1: Here's a sample of the code we use, we don't actually set the URL at compile time, but update properties in the MSI post-build so this might seem a little "over engineered". We use the WiXShellExec CA and have an additional condition so that the webpage is only displayed during uninstall, and not during a major upgrade. <Fragment> <Property Id="MyURL"><![CDATA[http://www

In WiX how do I test for the existence of a registry key (not value) for Oracle ODP.Net

喜欢而已 提交于 2019-11-27 13:39:46
问题 More specifically I want to test whether Oracle ODP.Net is installed on a machine. I want to do this by testing for the HKLM\SOFTWARE\ORACLE\ODP.NET registry key. The actual values used by ODP.Net are stored in HKLM\SOFTWARE\ORACLE\ODP.NET\2.111.6.20 however I assume that this lower level key's name will change as updates are released by Oracle. I have tried the following which fails, possibly because the (Default) value doesn't really exist or possibly because it is null (I'm not sure