I see why you need a custom action. Your best approach is to have your
custom action write temporary rows to the RemoveFile table and let
Windows Installer do the deleting for you. That would prevent some
potential problems.

The pattern for these types of CAs is described in Bob's well-thumbed
blog page at http://www.joyofsetup.com/2007/07/01/semi-custom-actions/

-----Original Message-----
From: MeCoco [mailto:vcotirl...@hotmail.com] 
Sent: 29 November 2010 14:25
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] QtExecDeferred and using a property in the cmd
line

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-limita
tion-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

------------------------------------------------------------------------------
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

Reply via email to