Makes sense, just wanted to give folks a heads up. FWIW I was able to avoid this type of approach by using CopyFile e.g. We install Web.default.config and then use CopyFile to create Web.config. The key is scheduling SchedXmlConfig (and/or SchedXmlFile) after DuplicateFiles, otherwise you get a file not found error (but only with more recent versions of Wix, it used to work out the box, just for tricks:)
On Fri, May 29, 2009 at 2:32 PM, Sascha Beaumont <sascha.beaum...@gmail.com> wrote: > Correctly so, QtCmdCopy is running too early (immediate action) and > trying to write to a protected location while UAC is still at a lower > privilege level. See > http://blogs.msdn.com/rflaming/archive/2006/09/23/768146.aspx for an > explanation why the actions fail under Vista. > > On Tue, May 26, 2009 at 4:34 PM, si <sshnug...@gmail.com> wrote: >> I know this thread is over a year old, but for those who find it via google, >> the custom actions below fail with "Access Denied" under Vista when the user >> does not have admin rights i.e. enters admin credentials during install. >> However it does work if you log in as Admin, or open a cmd prompt as admin. >> >> On Tue, Apr 8, 2008 at 5:31 PM, Thomas Terhaar >> <thomas.terh...@voicint.com>wrote: >> >>> I was struggling with the same issue and because I’m fairly new to WIX >>> and MSI in general I was not able to find a ‘clean’ Solution. >>> >>> What I have so far is the following, I consider this a ‘Workaround’ : >>> >>> >>> >>> <!-- Support Upgrading the Product --> >>> >>> <Upgrade Id="{B0FB80ED-249E-4946-87A2-08A5BCA36E7E}"> >>> >>> <UpgradeVersion Minimum="$(var.Version)" OnlyDetect="yes >>> " Property="NEWERVERSIONDETECTED" /> >>> >>> <UpgradeVersion Minimum="0.0.0" Maximum="$(var.Version)" >>> IncludeMinimum="yes" >>> >>> IncludeMaximum="no" Property=" >>> OLDERVERSIONBEINGUPGRADED" /> >>> >>> </Upgrade> >>> >>> <Property Id="OLDERVERSIONBEINGUPGRADED" Secure="yes" /> >>> >>> >>> >>> <!-- Action to save and Restore the Config-File on reinstall >>> --> >>> >>> <!-- We're using CAQuietExec to prevent DOS-Boxes from popping >>> up --> >>> >>> <CustomAction Id="SetQtCmdLineCopy" Property="QtExecCmdLine" >>> Value=""[SystemFolder]cmd.exe" /c copy " >>> [INSTALLDIR]MyApp.exe.config" "[INSTALLDIR]config.bak"" /> >>> >>> <CustomAction Id="QtCmdCopy" BinaryKey="WixCA" DllEntry=" >>> CAQuietExec" Execute="immediate" /> >>> >>> <CustomAction Id="SetQtCmdLineRestore" Property="QtCmdRestore" >>> Value=""[SystemFolder]cmd.exe" /c move /Y " >>> [INSTALLDIR]config.bak" "[INSTALLDIR]MyApp.exe.config"" /> >>> >>> <CustomAction Id="QtCmdRestore" Execute="commit" BinaryKey=" >>> WixCA" DllEntry="CAQuietExec" /> >>> >>> >>> >>> <!-- These actions will run only for a major upgrade --> >>> >>> <InstallExecuteSequence> >>> >>> <Custom Action="SetQtCmdLineCopy" After=" >>> InstallInitialize"> NOT (OLDERVERSIONBEINGUPGRADED = "")</Custom> >>> >>> <Custom Action="QtCmdCopy" After="SetQtCmdLineCopy">NOT >>> (OLDERVERSIONBEINGUPGRADED = "")</Custom> >>> >>> <Custom Action="SetQtCmdLineRestore" Before=" >>> InstallFinalize">NOT (OLDERVERSIONBEINGUPGRADED = "")</Custom> >>> >>> <Custom Action="QtCmdRestore" After="SetQtCmdLineRestore >>> ">NOT (OLDERVERSIONBEINGUPGRADED = "")</Custom> >>> >>> </InstallExecuteSequence> >>> >>> >>> >>> >>> >>> This basically copies the File ‘MyApp.exe.config’ to ‘config.bak’ before >>> the old Version is removed and after the new Version is installed, the File >>> is moved back to it’s original Filename (thus the .bak File is removed) >>> >>> >>> >>> This works fairly well but I’m still wondering if there’s a more intuitive >>> and cleaner approach to keep configuration settings when performing a major >>> upgrade ? >>> >>> (No, I don’t want to use the Registry) >>> >>> >>> >>> Btw, I’m using WIX 3.0.3815.0 >>> >>> >>> >>> >>> >>> Regards, >>> >>> Thomas >>> >>> >>> >>> >>> >>> *From:* wix-users-boun...@lists.sourceforge.net [mailto: >>> wix-users-boun...@lists.sourceforge.net] *On Behalf Of *dB. >>> *Sent:* Montag, 7. April 2008 01:00 >>> *To:* Bob Arnson >>> >>> *Cc:* wix-users@lists.sourceforge.net >>> *Subject:* Re: [WiX-users] How do I preserve a configuration file on a >>> majorupgrade? >>> >>> >>> >>> That doesn’t work. A component’s condition applies to installation. So once >>> a component is installed, you can’t conditionally uninstall it when you >>> remove the entire application, which happens during the major upgrade. Then >>> you can choose not to re-install the component on a condition, but the >>> configuration files will be removed by then. >>> >>> >>> >>> As Markus Kuehni wrote in his previous post, MSI keeps doing the “right >>> thing”, which is to keep track of files and never leave anything behind. I >>> think an extended file copy/move/delete would be a nice and simple WIX >>> extension invoking the custom action and one could specify a condition on >>> that. >>> >>> >>> >>> cheers >>> >>> -dB. >>> >>> >>> >>> *From:* Bob Arnson [mailto:b...@joyofsetup.com] >>> *Sent:* Sunday, April 06, 2008 1:19 PM >>> *To:* dB. >>> *Cc:* wix-users@lists.sourceforge.net >>> *Subject:* Re: [WiX-users] How do I preserve a configuration file on a >>> major upgrade? >>> >>> >>> >>> dB. wrote: >>> >>> I tried, but using FileId or putting FileCopy under a File will delete my >>> file on uninstall and not using FileId silently did absolutely nothing and >>> didn’t show anything in the log. Basically I couldn’t get it to work. Maybe >>> a bug? >>> >>> >>> Hmm...Maybe another component with the right condition? >>> >>> -- >>> >>> sig://boB >>> >>> http://joyofsetup.com/ >>> >>> >>> ------------------------------------------------------------------------- >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Register now and save $200. Hurry, offer ends at 11:59 p.m., >>> Monday, April 7! Use priority code J8TLD2. >>> >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >>> _______________________________________________ >>> WiX-users mailing list >>> WiX-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/wix-users >>> >>> >> >> >> -- >> It's a wild world that we live in, you step to the vibe like a new >> found religion, take your position, compile your vision, futurism, >> algorithm has risen up! pfm - the western >> ------------------------------------------------------------------------------ >> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT >> is a gathering of tech-side developers & brand creativity professionals. Meet >> the minds behind Google Creative Lab, Visual Complexity, Processing, & >> iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian >> Group, R/GA, & Big Spaceship. http://www.creativitycat.com >> _______________________________________________ >> WiX-users mailing list >> WiX-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/wix-users >> > > ------------------------------------------------------------------------------ > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp as they present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > -- It's a wild world that we live in, you step to the vibe like a new found religion, take your position, compile your vision, futurism, algorithm has risen up! pfm - the western ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users