Hi Peter. Thx for your answer, but I can't do that because I need the files to be removed _only_ when uninstall (not updates) and I have <RemoveExistingProducts After="InstallInitialize"/>. And as I described here: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/BUG-limitation-in-WIX-MSI-No-way-to-distinguish-between-an-uninstall-and-an-update-when-lt-RemoveExi-td5776494.html when REP is after InstallInitialize, it can't be done with Component conditions.
So I need a CustomAction which deletes the file and can be conditioned to happen only when real uninstalls. Because of that I got to the code below, which doesn't work. Can somebody pls help me? Thanks, MeCoco On 11/29/2010 2:54 PM, Peter Shirtcliffe wrote: > Use the<RemoveFile> element instead. > > > -----Original Message----- > From: MeCoco [mailto:vcotirl...@hotmail.com] > Sent: 29 November 2010 13:45 > To: General discussion for Windows Installer XML toolset. > Subject: [WiX-users] QtExecDeferred and using a property in the cmd line > > Hi all, > > I need to delete a specific file (created by our product) after > uninstalling the product. For that I'm using the Quiet Execution > CustomAction like: > > <Property Id="QtExecDeferred" Value='"[SystemFolder]\Cmd.exe" /C del /Q > > "[INSTALLLOCATION]\momo.txt"'/> > <CustomAction Id="QtExecDeferred" BinaryKey="WixCA" > DllEntry="CAQuietExec" Execute="deferred" Return="ignore" > Impersonate="no"/> > > <InstallExecuteSequence> > <Custom Action="QtExecDeferred" After="RemoveExistingProducts"/> > </InstallExecuteSequence> > > > When I'm building this I get the following 2 warnings: > > warning CNDL1077: The 'QtExecDeferred' Property contains > '[SystemFolder]' in its value which is an illegal reference to another > property. If this value is a string literal, not a property reference, > please ignore this warning. To set a property with the value of another > > property, use a CustomAction with Property and Value attributes. > warning CNDL1077: The 'QtExecDeferred' Property contains > '[APPLICATIONFOLDER]' in its value which is an illegal reference to > another property. If this value is a string literal, not a property > reference, please ignore this warning. To set a property with the value > > of another property, use a CustomAction with Property and Value > attributes. > > By looking into the log file, I see that the execution failed, with > "file not found": > MSI (s) (4C:28) [14:26:46:842]: Executing op: > CustomActionSchedule(Action=QtExecDeferred,ActionType=3137,Source=Binary > Data,Target=CAQuietExec,CustomActionData="[SystemFolder]\Cmd.exe" > /C del /Q "[INSTALLLOCATION]\momo.txt") > MSI (s) (4C:80) [14:26:46:853]: Invoking remote custom action. DLL: > C:\Windows\Installer\MSI8DF2.tmp, Entrypoint: CAQuietExec > MSI (s) (4C:80) [14:26:46:853]: Generating random cookie. > MSI (s) (4C:80) [14:26:46:871]: Created Custom Action Server with PID > 7996 (0x1F3C). > MSI (s) (4C:4C) [14:26:46:973]: Running as a service. > MSI (s) (4C:4C) [14:26:46:976]: Hello, I'm your 32bit Elevated custom > action server. > CAQuietExec: Error 0x80070002: Command failed to execute. > CAQuietExec: Error 0x80070002: CAQuietExec Failed > > > I assume the problem is that I'm using [SystemFolder] and > [INSTALLLOCATION] in a deferred CustomAction. > > By searching the internet I found somebody saying: > "> You can't access properties directly from a defered custom action. > You > > have to use another custom action that sets a property matching the > name of > > your action." > > The problem is that I don't know how to do that? Can someone pls, taking > > in account the above lines of code, tell me how and what do I need to > change to follow this instruction? > > Thank you, > MeCoco > > ------------------------------------------------------------------------ > ------ > Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! > Tap into the largest installed PC base& get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for > grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > 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. > > > ------------------------------------------------------------------------------ > Increase Visibility of Your 3D Game App& Earn a Chance To Win $500! > Tap into the largest installed PC base& get more eyes on your game by > optimizing for Intel(R) Graphics Technology. Get started today with the > Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. > http://p.sf.net/sfu/intelisp-dev2dev > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Increase Visibility of Your 3D Game App & Earn a Chance To Win $500! Tap into the largest installed PC base & get more eyes on your game by optimizing for Intel(R) Graphics Technology. Get started today with the Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs. http://p.sf.net/sfu/intelisp-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users