Re: [WiX-users] Delete temp files during uninstall

2008-10-02 Thread post
Not able to test, but try something like this (from the documentation):

Property Id=QtExecCmdLine Value=[SystemFolder]\Cmd.exe /c rmdir /s
/q [WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
Files\myapplication/

CustomAction Id=QtExecExample BinaryKey=WixCA DllEntry=CAQuietExec
Execute=immediate Return=check/

Kind regards

Hans



 thanks Hans.
 Tried the third option of QTExec and it errors out.
 with the following message:

 CAQuietExec:  Error 0x80070057: failed to get command line data
 CAQuietExec:  Error 0x80070057: failed to get Command Line

 This is from my wxs:

 CustomAction Id=Test.Command
   Property=QtExecCmdLine
 Value=c:\windows\system32\cmd.exe rmdir /s /q
 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
 Files\myapplication/

   CustomAction Id=Test
 BinaryKey=WixCA
 DllEntry=CAQuietExec
 Execute=immediate
 Return=check/



 post wrote:

 Hi Vivek,

 You have at least these options:

 1)Create a DTF custom action
 2)Create a VB script custom action
 3)Look into Quiet Execution Custom Action (ref Wix Help file)

 and then put a condition like REMOVE=ALL so it does not get run on
 installs.

 If these files and folders are not installed by the msi, you can not use
 RemoveFolder or RemoveFile(s) according to the help file documentation.

 Kind regards,

 Hans


 I have a requirement to delete temporary files at
 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
 Files. As the number of directories and files created by the
 application
 are
 close to 200 and RemoveFolder,RemoveFile with * is only
 on a directory and not recursive, makes it harder to do for every
 directory.
 Do we have any other solution?
 Can we run a dos command rmdir /s /q? If so how to do it in WiX?

 thanks,
 Vivek

 wix-users@lists.sourceforge.net
 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the
 world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the
 world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users



 --
 View this message in context:
 http://n2.nabble.com/Delete-temp-files-during-uninstall-tp1130780p1132763.html
 Sent from the wix-users mailing list archive at Nabble.com.


 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the
 world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users




-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Delete temp files during uninstall

2008-10-02 Thread Eitan Behar
Fixing a little the code below:

use ' instead of  to surround the string value, this is to allow using 
instead of quote; and the closing  right after cmd.exe.


Property Id=QtExecCmdLine Value=*'*[SystemFolder]\Cmd.exe /c rmdir /s
/q [WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\Temporary
ASP.NEThttp://asp.net/
Files\myapplication*'*/

The generic syntax is:

 Property Id=QtExecCmdLine Value=*'*command-surrounded-with-quotes
command-parameters*'*/

Eitan
-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread John Hall
Neil wrote:
 I have tried a
 few times to remove the unrelated code and never successfully
 got the component to work or to leave the machine working on
 uninstall. Have you ever generated the WiX registry code for
 VB6 COM component? Has anyone?

Neil,

I have. I wrote a custom build task that extracts the registration
information at build time [1].

The registration entry point is called with some registry redirection in
place, and then I harvest the created registry entries removing the
following:

 - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

 - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and
   {000204EF---C000-0046}, plus any Interfaces that
   reference these two type libraries.

This works for me.

regards,
John


[1] I know this is very much frowned upon, but I always create major
upgrades and don't create patches... YMMV

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Logging from a Custom Action during the UI phase

2008-10-02 Thread John Hall
 Yeah, Windows Installer doesn't let it work.  Why?  Some
 message processing issue inside them.  I think this is
 documented in some small print somewhere.

 PS:  Please don't shoot the messenger.  smile/

Of course not. I had half guessed it was something like this anyway. I guess 
it's a matter of inserting a MessageBox call at the top of my CA and attaching 
a debugger then.

Regards,
John

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread Troy Howard
Regarding SelfReg, or not I'm not completely sure I drink the Kool-Aid
on this one.  So, I understand that SelfRegCost violates transactability
rules (spell checker says transactability is not a word shrug) due to MSI
and how it handles that... But what then IS the recommended way to deal with
the scenario where you have a COM DLL that you didn't write and can't get a
different version of that does some wacky stuff in DllRegisterServer...

How should those DLLs be handled? If we use SelfRegCost, everything works
after a successful install, but at a rollback, or uninstall, there's no way
to undo it. What if there were CAs for RegSvr32/RegAsm, that were built-in
and easy to use, and then you could make sure that was happening correctly,
at the right times? This is similar to the duct-tape batch file solution
(one batch for install, one for uninstall), or bunch of QtExec actions to
those programs with appropriate cmdline params. The main thing seems to be
that they are scheduled at the right time, so that uninstall calls regsvr32
/u.

I understand that modifying system state outside of MSI's system is  a
no-no,  but if you're stuck with a DLL that operates that way, so be it.

Regarding the situation that I just finished with, I would like to have a
deeper understanding of the term Advertise that is being used in WiX/MSI
contexts. What does this mean exactly, in relation to COM DLLs?

Rob M mentioned that: ... those actions are only necessary if you are using
the Advertised features of COM registration otherwise it's all just Registry
rows.

I read the blog post he linked to about why advertising is bad, but it lacks
a definition of what advertising is. Does that definition exist somewhere?
With context regarding COM?

Thanks,
Troy



On Thu, Oct 2, 2008 at 1:09 AM, John Hall
[EMAIL PROTECTED]wrote:

 Neil wrote:
  I have tried a
  few times to remove the unrelated code and never successfully
  got the component to work or to leave the machine working on
  uninstall. Have you ever generated the WiX registry code for
  VB6 COM component? Has anyone?

 Neil,

 I have. I wrote a custom build task that extracts the registration
 information at build time [1].

 The registration entry point is called with some registry redirection in
 place, and then I harvest the created registry entries removing the
 following:

  - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

  - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and
   {000204EF---C000-0046}, plus any Interfaces that
   reference these two type libraries.

 This works for me.

 regards,
 John


 [1] I know this is very much frowned upon, but I always create major
 upgrades and don't create patches... YMMV

 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread John Hall
 Regarding SelfReg, or not I'm not completely sure I drink
 the Kool-Aid on this one.  So, I understand that SelfRegCost
 violates transactability rules (spell checker says
 transactability is not a word shrug) due to MSI and how it
 handles that... But what then IS the recommended way to deal
 with the scenario where you have a COM DLL that you didn't
 write and can't get a different version of that does some
 wacky stuff in DllRegisterServer...

 How should those DLLs be handled? If we use SelfRegCost,
 everything works after a successful install, but at a
 rollback, or uninstall, there's no way to undo it. What if
 there were CAs for RegSvr32/RegAsm, that were built-in and
 easy to use, and then you could make sure that was happening
 correctly, at the right times? This is similar to the
 duct-tape batch file solution (one batch for install, one for
 uninstall), or bunch of QtExec actions to those programs with
 appropriate cmdline params. The main thing seems to be that
 they are scheduled at the right time, so that uninstall calls
 regsvr32 /u.

 I understand that modifying system state outside of MSI's
 system is  a no-no,  but if you're stuck with a DLL that
 operates that way, so be it.

Troy,

If I remember correctly, you also get into other problems if the DLL has 
dependencies on other DLLs that you're installing, particularly those put into 
the SXS store - they're not available until after InstallFinalize. The most 
obvious case here is the VC runtime.

Regards,
John

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Logging from a Custom Action during the UI phase

2008-10-02 Thread Michael Owings
This is how I generally do it (message box/attach debugger) -- although 
you can of course do your own logging.

You could probably even trigger it off of a property passed on the 
MSIEXEC command line.

John Hall wrote:
 Yeah, Windows Installer doesn't let it work.  Why?  Some
 message processing issue inside them.  I think this is
 documented in some small print somewhere.

 PS:  Please don't shoot the messenger.  smile/
 
 Of course not. I had half guessed it was something like this anyway. I guess 
 it's a matter of inserting a MessageBox call at the top of my CA and 
 attaching a debugger then.
 
 Regards,
 John
 
 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
 Build the coolest Linux based applications with Moblin SDK  win great prizes
 Grand prize is a trip for two to an Open Source event anywhere in the world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
 
 
 


-- 
Teleoperate a roving mobile robot from the web:
http://www.swampgas.com/robotics/rover.html

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Execute a Custom action only when a specific component is removed

2008-10-02 Thread Yuval David
Hi,

I'm trying to execute a custom action only after I remove a specific
component (using Change).

Is there an option to do that? Can I write Remove=the name of the
component as a condition for execution of the CA?

Does someone know if it's possible?

 

Thanks,

Yuval

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Logging from a Custom Action during the UI phase

2008-10-02 Thread Michael Urman
On Thu, Oct 2, 2008 at 3:13 AM, John Hall
[EMAIL PROTECTED] wrote:
 Yeah, Windows Installer doesn't let it work.  Why?  Some
 message processing issue inside them.  I think this is
 documented in some small print somewhere.

 PS:  Please don't shoot the messenger.  smile/

 Of course not. I had half guessed it was something like this anyway. I guess 
 it's a matter of inserting a MessageBox call at the top of my CA and 
 attaching a debugger then.

If you're looking for a quick non-debugger method, property changes
are still logged. It may be a hack, but calling MsiSetProperty(hMSI,
_T(LOGME), _T(...)) is effective.

-- 
Michael Urman

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Execute a Custom action only when a specific component is removed

2008-10-02 Thread Alexander Shevchuk
Hi Yuval,

If you schedule your custom action after CostFinalize, you can use 
$MyComponent=2 condition.  This means that component is about to be 
uninstalled.  You also need to add condition if you don't want your custom 
action to run on complete uninstall.
More on feature and component states: 
http://msdn.microsoft.com/en-us/library/aa368012(VS.85).aspx

You can't use REMOVE because component can be shared by more than one feature.

Alex



-Original Message-
From: Yuval David [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 02, 2008 6:28 AM
To: WiX-users@lists.sourceforge.net
Subject: [WiX-users] Execute a Custom action only when a specific component is 
removed

Hi,

I'm trying to execute a custom action only after I remove a specific
component (using Change).

Is there an option to do that? Can I write Remove=the name of the
component as a condition for execution of the CA?

Does someone know if it's possible?



Thanks,

Yuval

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread Neil Sleightholm
Here is an example: http://www.x2systems.com/files/ocx.txt.

The objects I have most problems with are not my own, they are
redistributable components and often Microsoft ones.

I think John Hall may have found the relevant bits to remove, all I need
to do now is find a way of getting that into Heat.

Neil


-Original Message-
From: Richard [mailto:[EMAIL PROTECTED] 
Sent: 01 October 2008 23:28
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] COM registration weirdness


In article [EMAIL PROTECTED],
Neil Sleightholm [EMAIL PROTECTED]  writes:

 Richard 
 
  The answer to that is pretty simple -- you ignore anything that's
not
  related to your component.
 
 I think you are missing the point (or I am), how do I know it is not
 related?

Well, the things that are related to your COM object are laid out in
the COM specification.  I'm assuming since its your COM object, that
you know the CLSIDs, IIDs, etc., that go with your object.

 In VB6 you don't edit the COM registration so you don't know
 the details.

True, but you do decide the ProgId that exposes your COM object and
for the places where COM is registering a server, it is coupled to the
filename of the DLL containing the server, so you can link things back
that way.  There will also be a type library associated with your COM
object, to support VB6's dispinterface style late binding.  The type
library for a VB6 COM object is always contained in the DLL of the
object, so that's also coupled back to your object through the
filename.

 I have a fairly simple ocx and heat generates 182 lines of
 WiX code for it!

Can you post a URL to the generated WiX code from heat?  I'd like to
see what kind of stuff its generating.
-- 
The Direct3D Graphics Pipeline -- DirectX 9 draft available for
download
  http://www.xmission.com/~legalize/book/download/index.html

Legalize Adulthood! http://blogs.xmission.com/legalize/


-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK  win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread Rob Mensching
That's one of many reasons SelfReg is evil.

I really should write the blog entry about this... there are just so many 
facets it'll take forever.  sigh/

-Original Message-
From: John Hall [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 02, 2008 03:10
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] COM registration weirdness

 Regarding SelfReg, or not I'm not completely sure I drink
 the Kool-Aid on this one.  So, I understand that SelfRegCost
 violates transactability rules (spell checker says
 transactability is not a word shrug) due to MSI and how it
 handles that... But what then IS the recommended way to deal
 with the scenario where you have a COM DLL that you didn't
 write and can't get a different version of that does some
 wacky stuff in DllRegisterServer...

 How should those DLLs be handled? If we use SelfRegCost,
 everything works after a successful install, but at a
 rollback, or uninstall, there's no way to undo it. What if
 there were CAs for RegSvr32/RegAsm, that were built-in and
 easy to use, and then you could make sure that was happening
 correctly, at the right times? This is similar to the
 duct-tape batch file solution (one batch for install, one for
 uninstall), or bunch of QtExec actions to those programs with
 appropriate cmdline params. The main thing seems to be that
 they are scheduled at the right time, so that uninstall calls
 regsvr32 /u.

 I understand that modifying system state outside of MSI's
 system is  a no-no,  but if you're stuck with a DLL that
 operates that way, so be it.

Troy,

If I remember correctly, you also get into other problems if the DLL has 
dependencies on other DLLs that you're installing, particularly those put into 
the SXS store - they're not available until after InstallFinalize. The most 
obvious case here is the VC runtime.

Regards,
John

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread Rob Mensching
First, you should not be packaging someone else's resources in your MSI.  You 
should be getting a Merge Module that has all of the COM and DLL and most 
importantly the *correct* Component GUIDs.  That's what Merge Modules were 
designed for.  If you're not getting a Merge Module and the producer shares the 
resource with other people you're now very much in jeopardy of entering DLL 
Hell.

Second, if you're screwed then you're screwed.  Personally, I always start 
pushing for crappy resources to get pushed out of the product.  Setup failures 
are deadly for customers.  They almost always turn into support calls (and 
everyone I've talked to, support calls are an undesirable expense).  Of course, 
sometimes the developer on setup doesn't get to make that call.  smile/

If you want people to help brainstorm how to work around a particular issue 
then understand that most people here will suggest fixing the core issue rather 
than avoiding it.  So be very clear that you've exhausted all options and be 
very specific about what you're trying to accomplish.  Workaround suggestions 
are often very specific to the scenario so if you're not clear the suggestions 
you get might not work... or not work the way you want when you try to update 
your app some months later.  smile/

Finally, advertising is generally considered part of assigning/publishing in 
Windows Installer.  The MSI SDK has stuff about it.  Based on my experience, 
advertising shortcuts and extensions works well but COM advertising has some a 
rather unpleasant user experience and side effects.

-Original Message-
From: Troy Howard [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 02, 2008 02:04
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] COM registration weirdness

Regarding SelfReg, or not I'm not completely sure I drink the Kool-Aid
on this one.  So, I understand that SelfRegCost violates transactability
rules (spell checker says transactability is not a word shrug) due to MSI
and how it handles that... But what then IS the recommended way to deal with
the scenario where you have a COM DLL that you didn't write and can't get a
different version of that does some wacky stuff in DllRegisterServer...

How should those DLLs be handled? If we use SelfRegCost, everything works
after a successful install, but at a rollback, or uninstall, there's no way
to undo it. What if there were CAs for RegSvr32/RegAsm, that were built-in
and easy to use, and then you could make sure that was happening correctly,
at the right times? This is similar to the duct-tape batch file solution
(one batch for install, one for uninstall), or bunch of QtExec actions to
those programs with appropriate cmdline params. The main thing seems to be
that they are scheduled at the right time, so that uninstall calls regsvr32
/u.

I understand that modifying system state outside of MSI's system is  a
no-no,  but if you're stuck with a DLL that operates that way, so be it.

Regarding the situation that I just finished with, I would like to have a
deeper understanding of the term Advertise that is being used in WiX/MSI
contexts. What does this mean exactly, in relation to COM DLLs?

Rob M mentioned that: ... those actions are only necessary if you are using
the Advertised features of COM registration otherwise it's all just Registry
rows.

I read the blog post he linked to about why advertising is bad, but it lacks
a definition of what advertising is. Does that definition exist somewhere?
With context regarding COM?

Thanks,
Troy



On Thu, Oct 2, 2008 at 1:09 AM, John Hall
[EMAIL PROTECTED]wrote:

 Neil wrote:
  I have tried a
  few times to remove the unrelated code and never successfully
  got the component to work or to leave the machine working on
  uninstall. Have you ever generated the WiX registry code for
  VB6 COM component? Has anyone?

 Neil,

 I have. I wrote a custom build task that extracts the registration
 information at build time [1].

 The registration entry point is called with some registry redirection in
 place, and then I harvest the created registry entries removing the
 following:

  - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

  - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and
   {000204EF---C000-0046}, plus any Interfaces that
   reference these two type libraries.

 This works for me.

 regards,
 John


 [1] I know this is very much frowned upon, but I always create major
 upgrades and don't create patches... YMMV

 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 

Re: [WiX-users] Execute a Custom action only when a specific component is removed

2008-10-02 Thread Rob Mensching
Take a look at the Formatted topic in the MSI SDK.  It has all kinds of special 
characters to give you feature and component states.

-Original Message-
From: Yuval David [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 02, 2008 06:28
To: WiX-users@lists.sourceforge.net
Subject: [WiX-users] Execute a Custom action only when a specific component is 
removed

Hi,

I'm trying to execute a custom action only after I remove a specific
component (using Change).

Is there an option to do that? Can I write Remove=the name of the
component as a condition for execution of the CA?

Does someone know if it's possible?



Thanks,

Yuval

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] COM registration weirdness

2008-10-02 Thread Rob Mensching
Is this code significantly different than what is in heat?  Can we improve heat 
as well?

-Original Message-
From: John Hall [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 02, 2008 01:09
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] COM registration weirdness

Neil wrote:
 I have tried a
 few times to remove the unrelated code and never successfully
 got the component to work or to leave the machine working on
 uninstall. Have you ever generated the WiX registry code for
 VB6 COM component? Has anyone?

Neil,

I have. I wrote a custom build task that extracts the registration
information at build time [1].

The registration entry point is called with some registry redirection in
place, and then I harvest the created registry entries removing the
following:

 - CLSID {D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}

 - Typelibs {EA544A21-C82D-11D1-A3E4-00A0C90AEA82} and
   {000204EF---C000-0046}, plus any Interfaces that
   reference these two type libraries.

This works for me.

regards,
John


[1] I know this is very much frowned upon, but I always create major
upgrades and don't create patches... YMMV

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Logging from a Custom Action during the UI phase

2008-10-02 Thread Richard

In article [EMAIL PROTECTED],
Michael Urman [EMAIL PROTECTED]  writes:

 If you're looking for a quick non-debugger method, property changes
 are still logged. It may be a hack, but calling MsiSetProperty(hMSI,
 _T(LOGME), _T(...)) is effective.

Another option is to call OutputDebugString with the information you
want to log and then run something like DebugView to see the debug
output stream.
-- 
The Direct3D Graphics Pipeline -- DirectX 9 draft available for download
  http://www.xmission.com/~legalize/book/download/index.html

Legalize Adulthood! http://blogs.xmission.com/legalize/

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Roll Back Action

2008-10-02 Thread Sandeep Gautam (HCL Technologies Ltd)
Hi
While doing installation, I am facing so many errors then on error i want to 
roll back all the component which has installed till than.Because if I am 
installing very first time and getting some error in between and again try to 
install then it is going on Maintenance screen.

Please help me out.

Regards
-Sandeep

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Delete temp files during uninstall

2008-10-02 Thread vivek.anandan

Thanks for all answers. This is the final code that worked and I needed to
run
it twice as I had to clean up two directories.

CustomAction Id=SetGadgetManagerCmdLine Property=QtExecCmdLine
Value='[SystemFolder]\Cmd.exe /c rmdir /s /q
[WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
Files\myappe'/

CustomAction Id=RunGadgetManager BinaryKey=WixCA DllEntry=CAQuietExec
Impersonate='yes' Return='check' /

CustomAction Id=SetLaunchCplCmdLine Property=QtExecCmdLine
Value='[SystemFolder]\Cmd.exe /c rmdir /s /q
[WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET
Files\maypp1'/

CustomAction Id=RunLaunchCpl BinaryKey=WixCA DllEntry=CAQuietExec
Execute='immediate' Impersonate='yes' Return='check' /
 



Eitan Behar-3 wrote:
 
 Fixing a little the code below:
 
 use ' instead of  to surround the string value, this is to allow using 
 instead of quote; and the closing  right after cmd.exe.
 
 
 Property Id=QtExecCmdLine Value=*'*[SystemFolder]\Cmd.exe /c rmdir /s
 /q [WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\Temporary
 ASP.NEThttp://asp.net/
 Files\myapplication*'*/
 
 The generic syntax is:
 
  Property Id=QtExecCmdLine Value=*'*command-surrounded-with-quotes
 command-parameters*'*/
 
 Eitan
 -
 This SF.Net email is sponsored by the Moblin Your Move Developer's
 challenge
 Build the coolest Linux based applications with Moblin SDK  win great
 prizes
 Grand prize is a trip for two to an Open Source event anywhere in the
 world
 http://moblin-contest.org/redirect.php?banner_id=100url=/
 ___
 WiX-users mailing list
 WiX-users@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/wix-users
 
 

-- 
View this message in context: 
http://n2.nabble.com/Delete-temp-files-during-uninstall-tp1130780p1140612.html
Sent from the wix-users mailing list archive at Nabble.com.


-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users