[WiX-users] Not to create key under HKCU path in the registry
Hi, My requirement is, not to create a key under HKCU path by WIX installer. Can you please let me know how to avoid default path(HKCU) in the registry? *RegistryValue Root=HKCU Key=Software\[Manufacturer]\[ProductName] Name=installed Type=integer Value=1 KeyPath=yes/* ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=* Name=TestWindowService Language=1033 Version=1.0.0.0 Manufacturer=Test Service UpgradeCode=8cfc33c6-292f-4bad-a488-4781ae709c5e Package InstallerVersion=200 Compressed=yes InstallScope=perMachine / MajorUpgrade DowngradeErrorMessage=A newer version of [ProductName] is already installed. / MediaTemplate EmbedCab=yes / Feature Id=ProductFeature Title=TestWindowService Level=1 ComponentGroupRef Id=ProductComponents / ComponentGroupRef Id=TestWindowServiceShortcut / /Feature /Product Fragment Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=ManufacturerFolder Name=!(bind.property.Manufacturer) Directory Id=INSTALLFOLDER Name=!(bind.property.ProductName) / /Directory /Directory !-- Step 1: Define the directory structure -- Directory Id=ProgramMenuFolder Directory Id=ApplicationProgramsFolder Name=TestWindowService/ /Directory /Directory /Fragment Fragment ComponentGroup Id=ProductComponents Directory=INSTALLFOLDER !-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -- Component Id=ProductComponent !-- TODO: Insert files, registry keys, and other resources here. -- File Id=TestWindowService Source=$(var.TestWindowsService.TargetPath) KeyPath=yes/ ServiceInstall Id=TestWindowService DisplayName=TestWindowService Name=TestWindowService Description=Test window service Account=LocalSystem ErrorControl=normal Start=demand Type=ownProcess Vital=yes / ServiceControl Id=ControlWixService Name=TestWindowService.exe Stop=uninstall Remove=uninstall / /Component /ComponentGroup ComponentGroup Id=TestWindowServiceShortcut Directory=ApplicationProgramsFolder Component Id=TestWindowServiceShortcut Guid=01E98283-4246-46BC-A39F-0F1975C95AA6 Shortcut Id=UninstallProduct Name=Uninstall TestWindowService Description=Uninstalls TestWindowService Application Target=[System64Folder]msiexec.exe Arguments=/x [ProductCode]/ *RemoveFolder Id=ApplicationProgramsFolder On=uninstall/* *RegistryValue Root=HKCU Key=Software\[Manufacturer]\[ProductName] Name=installed Type=integer Value=1 KeyPath=yes/* /Component /ComponentGroup /Fragment /Wix Thanks, Manoj -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Windows service doesn't remove from services.msc in windows 8 using WIX shortcut (C#)
Hi, I created shortcut for my windows service . When I uninstall the windows service using shortcut then it removes service from startup menu, But I was able to see the window service in services.msc tool (Note: it throws error when I try to start\stop the particular win service ). If i uninstall it from control panel's Add/Remove programes then it removes win service from services.msc too. Please find my code below: ?xml version=1.0 encoding=UTF-8? Wix xmlns=http://schemas.microsoft.com/wix/2006/wi; Product Id=* Name=TestWindowService Language=1033 Version=1.0.0.0 Manufacturer=Test Service UpgradeCode=8cfc33c6-292f-4bad-a488-4781ae709c5e Package InstallerVersion=200 Compressed=yes InstallScope=perMachine / MajorUpgrade DowngradeErrorMessage=A newer version of [ProductName] is already installed. / MediaTemplate EmbedCab=yes / Feature Id=ProductFeature Title=TestWindowService Level=1 ComponentGroupRef Id=ProductComponents / ComponentGroupRef Id=TestWindowServiceShortcut / /Feature /Product Fragment Directory Id=TARGETDIR Name=SourceDir Directory Id=ProgramFilesFolder Directory Id=ManufacturerFolder Name=!(bind.property.Manufacturer) Directory Id=INSTALLFOLDER Name=!(bind.property.ProductName) / /Directory /Directory !-- Step 1: Define the directory structure -- Directory Id=ProgramMenuFolder Directory Id=ApplicationProgramsFolder Name=TestWindowService/ /Directory /Directory /Fragment Fragment ComponentGroup Id=ProductComponents Directory=INSTALLFOLDER !-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -- Component Id=ProductComponent !-- TODO: Insert files, registry keys, and other resources here. -- File Id=TestWindowService Source=$(var.TestWindowsService.TargetPath) KeyPath=yes/ ServiceInstall Id=TestWindowService DisplayName=TestWindowService Name=TestWindowService Description=Test window service Account=LocalSystem ErrorControl=normal Start=demand Type=ownProcess Vital=yes / ServiceControl Id=ControlWixService Name=TestWindowService.exe Stop=uninstall Remove=uninstall / /Component /ComponentGroup ComponentGroup Id=TestWindowServiceShortcut Directory=ApplicationProgramsFolder Component Id=TestWindowServiceShortcut Guid=01E98283-4246-46BC-A39F-0F1975C95AA6 Shortcut Id=UninstallProduct Name=Uninstall TestWindowService Description=Uninstalls TestWindowService Application Target=[System64Folder]msiexec.exe Arguments=/x [ProductCode]/ RemoveFolder Id=ApplicationProgramsFolder On=uninstall/ RegistryValue Root=HKCU Key=Software\[Manufacturer]\[ProductName] Name=installed Type=integer Value=1 KeyPath=yes/ /Component /ComponentGroup /Fragment /Wix -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Determining database permissions from custom bootstrapper / UAC issue
Hi, I've created a custom managed bootstrapper using Burn which executes an MSI during the install phase. This MSI installs/configures a database. During the UI phase I'm currently using this SQL statement to determine whether I'm allowed to create a database: SELECT COUNT(*) FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = N'CREATE ANY DATABASE' OR permission_name = 'ALTER ANY LOGIN' This works most of the time. However, there is a scenario where this fails: The user running the setup has the required permissions on the database by means of being a member of the Builtin\Administrators group. This only gives the user the required permissions when running UAC elevated. In this case, the UI portion is run non-elevated and thus the user does not have the permissions to create databases. However, the setup would be able to create the database during the InstallExecute portion, because that part runs elevated. Is there a way to work around this issue? Or should I just ask the user whether he wants to continue with the setup despite it being unable to determine whether he has sufficient privileges? Thanks in advance, Henning -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Windows service doesn't remove from services.msc in windows 8 using WIX shortcut (C#)
Sometimes Windows marks a service for deletion after restart. In this case you would see the service in the services UI until after restart. - Nir Bar Freelance Developer Mail: nir@panel-sw.com Web: www.panel-sw.com - C++ On Windows, Linux and Embedded Platforms - WiX InstallShield -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Re-Windows-service-doesn-t-remove-from-services-msc-in-windows-8-using-WIX-shortcut-C-tp7600702p7600712.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] StrAllocSecure fails in AlocHelper - advice in understanding why.
Stepping into the code posted, the cch was 165 (and in other experiments when I increased the initialized size that I was requesting for the buffer, up to 195) , in all cases it was much less than = MAXDWORD / sizeof(WCHAR), yet stepping through the code in a debugger, it steps into the code posted which returns the 'Not enough memory to allocate string of size: 165' message, and does not make any sense. The pointer that is passed into ppwz was initialized to NULL prior to calling StrAllocSecure(). I can see that when other StrXxx functions like StrAllocConcatSecure, also call this code block they iterate through allocating a larger buffer. But I do not understand why a (very small value = a very large value) results in true, which causes StrAllocSecure to simply return without allocating the buffer. Thanks for your comments, I will research it more. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/StrAllocSecure-fails-in-AlocHelper-advice-in-understanding-why-tp7600708p7600714.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Windows service doesn't remove from services.msc in windows 8 using WIX shortcut (C#)
Your ServiceInstall says Name=TestWindowService but your ServiceControl says Name=TestWindowService.exe, so if the name is actually TestWindowService your ServiceControl isn't going to do anything with it. That's why you get the error and probably the other unexpected behvior too. --- Phil Wilson On Wed, Jun 24, 2015 at 1:17 PM, Nir Bar nir@panel-sw.com wrote: Sometimes Windows marks a service for deletion after restart. In this case you would see the service in the services UI until after restart. - Nir Bar Freelance Developer Mail: nir@panel-sw.com Web: www.panel-sw.com - C++ On Windows, Linux and Embedded Platforms - WiX InstallShield -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Re-Windows-service-doesn-t-remove-from-services-msc-in-windows-8-using-WIX-shortcut-C-tp7600702p7600712.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Reboot required during major upgrade in-between uninstall and re-install
You may be able to schedule RemoveExistingProducts after InstallExecute if you adhere to component rules https://msdn.microsoft.com/en-us/library/aa372795(v=vs.85).aspx . This will perform the uninstall after the reinstall and reboot on installation end. - Nir Bar Freelance Developer Mail: nir@panel-sw.com Web: www.panel-sw.com - C++ On Windows, Linux and Embedded Platforms - WiX InstallShield -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Reboot-required-during-major-upgrade-in-between-uninstall-and-re-install-tp7600688p7600713.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Why does a patch build include same versioned dlls?
Hi it always bugged me, that creating a patch either with wix or with the msimsp patch creation includes dlls which are binary different, but have the same version (or where the upgraded installer has a lower version). When said patch is installed on top of the targeted product, those dlls will not end up on the system, if I understand things correctly, because the windows installer will actually compare both versions, not the binary hashes. Is there a reason/rationale behind this patch creation behavior? I failed to find one. Thanks Jakob -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Why does a patch build include same versioned dlls?
See https://msdn.microsoft.com/en-us/library/aa368599.aspx Palbinder Sandher Software Platform Engineer T: +44 (0)141 945 8500 F: +44 (0)141 945 8501 http://www.iesve.com Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Jakob Ziegler [mailto:subscr...@gmail.com] Sent: 24 June 2015 15:20 To: wix-users Subject: [WiX-users] Why does a patch build include same versioned dlls? Hi it always bugged me, that creating a patch either with wix or with the msimsp patch creation includes dlls which are binary different, but have the same version (or where the upgraded installer has a lower version). When said patch is installed on top of the targeted product, those dlls will not end up on the system, if I understand things correctly, because the windows installer will actually compare both versions, not the binary hashes. Is there a reason/rationale behind this patch creation behavior? I failed to find one. Thanks Jakob -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Why does a patch build include same versioned dlls?
If you allow the tools to decide what is in your patch it ultimately does a binary comparison to see what has changed between versions and includes them if there is any difference. You would need to dig into the patch building tools to implement an override of this behaviour to examine the version resource of versioned files. I added a feature-request for this a while ago but never managed to find any time to submit (or write for that matter) an implementation of it. For now I author my patch.wxs files with explicit component refs and control exactly what goes in each patch. Dave [http://cdn.sdl.tridion.sdlproducts.com/static/corporate/SDLlogo2014.png] www.sdl.com/ www.sdl.com SDL PLC confidential, all rights reserved. If you are not the intended recipient of this mail SDL requests and requires that you delete it without acting upon or copying any of its contents, and we further request that you advise us. SDL PLC is a public limited company registered in England and Wales. Registered number: 02675207. Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, UK. -Original Message- From: Pally Sandher [mailto:pally.sand...@iesve.com] Sent: 24 June 2015 17:01 To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Why does a patch build include same versioned dlls? See https://msdn.microsoft.com/en-us/library/aa368599.aspx Palbinder Sandher Software Platform Engineer T: +44 (0)141 945 8500 F: +44 (0)141 945 8501 http://www.iesve.com Integrated Environmental Solutions Limited. Registered in Scotland No. SC151456 Registered Office - Helix Building, West Of Scotland Science Park, Glasgow G20 0SP Email Disclaimer -Original Message- From: Jakob Ziegler [mailto:subscr...@gmail.com] Sent: 24 June 2015 15:20 To: wix-users Subject: [WiX-users] Why does a patch build include same versioned dlls? Hi it always bugged me, that creating a patch either with wix or with the msimsp patch creation includes dlls which are binary different, but have the same version (or where the upgraded installer has a lower version). When said patch is installed on top of the targeted product, those dlls will not end up on the system, if I understand things correctly, because the windows installer will actually compare both versions, not the binary hashes. Is there a reason/rationale behind this patch creation behavior? I failed to find one. Thanks Jakob -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users This message has been scanned for malware by Websense. www.websense.com -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Determining database permissions from custom bootstrapper / UAC issue
Hi, I've created a custom managed bootstrapper using Burn which executes an MSI during the install phase. This MSI installs/configures a database. During the UI phase I'm currently using this SQL statement to determine whether I'm allowed to create a database: SELECT COUNT(*) FROM fn_my_permissions(NULL, 'SERVER') WHERE permission_name = N'CREATE ANY DATABASE' OR permission_name = 'ALTER ANY LOGIN' This works most of the time. However, there is a scenario where this fails: The user running the setup has the required permissions on the database by means of being a member of the Builtin\Administrators group. This only gives the user the required permissions when running UAC elevated. In this case, the UI portion is run non-elevated and thus the user does not have the permissions to create databases. However, the setup would be able to create the database during the InstallExecute portion, because that part runs elevated. Is there a way to work around this issue? Or should I just ask the user whether he wants to continue with the setup despite it being unable to determine whether he has sufficient privileges? Thanks in advance, Henning -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] StrAllocSecure fails in AlocHelper - advice in understanding why.
I am trying to use StrAllocSecure to insure that an LPWSTR has sufficient buffer size to subsequently try and copy a CRYPT_INTEGER_BLOB https://msdn.microsoft.com/en-us/library/windows/desktop/aa381414(v=vs.85).aspx structure's buffer into the LPWSTR, for the purpose of passing this to WcaAddTempRecord (after prepending L#x). When I call StrAllocSecure (or related functions) I then hit code in AllocHelper which returns E_OUTOFMEMORY. The blob size, for this test, is 154 bytes (and I tried adding more to it as a test, for a cch around 195, decimal). When I add 'DWORD test = MAXDWORD / sizeof(WCHAR);' to a source file it evaluates to 2,147,483,647 so I do not understand why the if block evaluates as TRUE in AllocHelper at: if (cch = MAXDWORD / sizeof(WCHAR)) { hr = E_OUTOFMEMORY; ExitOnFailure1(hr, Not enough memory to allocate string of size: %u, cch); } Any thoughts? (and any advice on how to use StrUtil (or other wix lib) to insert the blob BYTE array into a LPWSTR for WcaAddTempRecord. It would be so cool to let MSI manage the rollback rather than writing a deferred CA to call win32 registry api.) Thanks for your time! FYI - I am using wix 3.10.0.1502 at this time. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/StrAllocSecure-fails-in-AlocHelper-advice-in-understanding-why-tp7600708.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Not to create key under HKCU path in the registry
Specify a different Root attribute? - Nir Bar Freelance Developer Mail: nir@panel-sw.com Web: www.panel-sw.com - C++ On Windows, Linux and Embedded Platforms - WiX InstallShield -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Not-to-create-key-under-HKCU-path-in-the-registry-tp7600703p7600711.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] StrAllocSecure fails in AlocHelper - advice in understanding why.
The log message should indicate the requested cch value. Also note that E_OUTOFMEMORY can be returned on two different flows in the function. Since the log message is slightly different you can tell which of these failed. Have you initialized your LPWSTR variable to NULL? - Nir Bar Freelance Developer Mail: nir@panel-sw.com Web: www.panel-sw.com - C++ On Windows, Linux and Embedded Platforms - WiX InstallShield -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/StrAllocSecure-fails-in-AlocHelper-advice-in-understanding-why-tp7600708p7600710.html Sent from the wix-users mailing list archive at Nabble.com. -- Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical virtual servers, alerts via email sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users