wix3.5

WiX - Set Installdirectory dynamically over CustomAction [C#]

不想你离开。 提交于 2019-12-06 07:45:09
I'm about to create an installer, now i have to set the install-directory depending on the operation-system. My directory-tree: <Property Id="TARGETDIR" Value="C:\" /> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="TARGETDIRECTORY" Name="MyApplication"> <Directory Id="CONFIG" Name="Config"> <Directory Id="FOLDER2" Name="Folder2" /> </Directory> </Directory> </Directory> if i set the TARGETDIRECTORY in the c#-custom-action, the targetdirectory gets set correct, but the CONFIG/FOLDER2 just have the old links. How can i force them to adjust them to the new paths? because they are

Wix Major Upgrade and Install Context Issues

坚强是说给别人听的谎言 提交于 2019-12-06 03:56:10
I have a Wix project that I have set to allow major upgrades. I'm using WixUI_Advanced for a choice between per-user and per-machine installs. When I install and upgrade per-user everything works as expected, the installer recognizes an upgrade and there is only one entry in Programs and Features. However when I choose a per-machine install, it starts duplicating entries in Programs and Features (even when both install and upgrade are per-machine and to the same folder). Looking at the install log file it seems that FindRelatedProducts is executing before the user gets a chance to select a per

How do I customise the Wix Progress Dialog?

[亡魂溺海] 提交于 2019-12-06 02:12:27
问题 I'm trying to customise the standard WiX Progress Dialog (I want to make it show the ActionData). I've followed Neil's guide to customising dialogs but the trouble is, the original ProgressDlg is still being shown instead of mine. I think I know why: if you look at the source to ProgressDlg you can see this block of code: <InstallUISequence> <Show Dialog="ProgressDlg" Before="ExecuteAction" /> </InstallUISequence> So rather than being published by another dialog, as most dialogs are, it is

Wix heat for per machine installer

时间秒杀一切 提交于 2019-12-05 19:33:46
I use the following command to create a wxs file for class registry, using heat : "C:\Program Files\Windows Installer XML v3.5\bin\heat.exe" file MyAddin.dll -ag -template fragment -out MyAddin.wxs The result is registry entries per user. In the following lines from the created wxs file you can see HKCU -- for HKEY_CURRENT_USER : <Class Id="{1AF5E2B9-CC02-368F-A879-1DF3F538D71A}" Context="InprocServer32" Description="AdminAddins.MyClass" ThreadingModel="both" ForeignServer="mscoree.dll"> <ProgId Id="AdminAddins.MyClass" Description="AdminAddins.MyClass" /> </Class> <File Id=

How to execute multiple launch conditions on installer exit

混江龙づ霸主 提交于 2019-12-05 14:07:00
I've managed to get WIX to launch my application on exit, but not sure how to schedule two custom actions using the WixShellExecTarget property. One CA is to launch an app and the other is a web page based on a url from another CA. These are both launched if the appropriate checkboxes are checked. <!-- Custom action for executing app --> <Property Id="WixShellExecTarget" Value="[#Application.exe]" /> <CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" /> <!-- Custom action for executing Webbrowser --> <Property Id="???" Value="[CONFIGWIZARDURL]" />

WiX patching not updating files correctly

天大地大妈咪最大 提交于 2019-12-05 11:25:10
My "admin-image" style WiX test patches are failing to update the existing installation correctly. When using msiexec /lx, I get the following information related to patching "fi_executable.exe": MSI (s) (88:E0) [12:32:41:716]: Baseline: Patch {E244BAC8-7E62-4406-889B-4B67A4EA7369} modified fi_executable.exe with full-file update. MSI (s) (88:E0) [12:32:41:716]: Baseline: First patch for fi_executable.exe, saving native info. MSI (s) (88:E0) [12:32:41:716]: Baseline: fi_executable.exe version for baseline at patch Native: 6.0.5803.11, 1033, 53840. ... MSI (s) (88:E0) [12:32:41:716]: Baseline:

WiX install error 2762 while invoking a CustomAction from dialog

*爱你&永不变心* 提交于 2019-12-05 11:20:50
问题 I am a beginner, started learning WiX. I want to capture and validate and register user details during the installation process. I have created a dialog to capture user registration and invoking a custom action once user clicks on 'Next'. But here I am getting installer error 2762. Though the error description says that "The action must be scheduled between InstallInitialize and InstallFinalize", I am not able to figure out how to resolve this problem. Here is my XML script: <Binary Id=

Wix 3.5 preprocessor extension - undefined preprocessor function

醉酒当歌 提交于 2019-12-05 06:23:04
问题 I just using Wix 3.5 with Visual Studio 2010, Windows 7. I unable to make a custom Preprocessor Extension run. I create the extension project in .NET 3.5. and copy the compiled dll into Wix 3.5 program files , plus set the Reference Path in the extension project properties but the Wix project build still failed with " undefined preprocessor function " on my extension. Example: Extension project: WixFileVersionExtension (from wixfileversionext.codeplex.com) Wix program files: "C:\Program Files

Wix HeatFile Task Locks Dll

蓝咒 提交于 2019-12-05 06:14:03
I'm using the Wix HeatFile task in a post build step <HeatFile OutputFile="Interop.dll.wxs" File="..\Interop\bin\x86\$(Configuration)\Interop.dll" DirectoryRefId="INSTALLDIR" ComponentGroupName="Interop_Dll" AutogenerateGuids="true" SuppressFragments="true" SuppressRootDirectory="true" ToolPath="$(WixToolPath)" PreprocessorVariable="var.InteropBinDir" /> Once I do a build, it locks my dll and subsequent builds fail with: Error 6 Unable to copy file "obj\x86\Debug\Interop.dll" to "bin\x86\Debug\dll". The process cannot access the file 'bin\x86\Debug\Interop.dll' because it is being used by

Running devenve.exe /setup after uninstall in Wix

家住魔仙堡 提交于 2019-12-05 04:47:17
I am working on an installer (MSI, Wix) for MVVM Light and have an issue. I need to run devenv.exe /setup on install and on uninstall to add/remove templates to the New Project menu. While we nailed the syntax on install, we are unable to find the correct syntax to run this on uninstall. This is what we have: <InstallExecuteSequence> <Custom Action='UpdateVS2010Templates' After='InstallFiles'>VS2010EXISTS</Custom> <Custom Action='UpdateVS2010TemplatesUninstall' After='RemoveFiles'>REMOVE = "All"</Custom> </InstallExecuteSequence> with <CustomAction Id="UpdateVS2010Templates" Impersonate="no"