For your problem you could simply use a <ComponentSearch> to find the component that contains the assembly. Still, I don't like the idea of registering the component using regasm, it still seems far too fragile.
 
--
Mike Dimmick


From: Anirban Basu [mailto:[EMAIL PROTECTED]
Sent: 19 September 2006 15:27
To: Mike Dimmick; [EMAIL PROTECTED]
Subject: RE: [WiX-users] FW: issue around INSTALLDIR

Hi Mike,

Thanks for the reply.

I agree that the approach may not be a good one, but we are not in a position to change it.

 

Moreover my question is not around what is the best practice (I know what is described here is not the best practice), but my question is as follows

 

Are users not supposed to use the "INSTALLDIR" variable in their custom actions?

But this is a windows installer variable (supposed to set by the windows installer service itself) and it should be safe to use it.

 

 

My observation is that the msi is removing all the dll and registry entries it has installed so I assume that the non-default installation directory is available to windows installer service somewhere but it is not passing it in the INSTALLDIR.

 

Have any one of you faced similar kind of problem? Why is it happening?

Take Care

Anirban

 


From: Mike Dimmick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, September 19, 2006 7:18 PM
To: Anirban Basu; [EMAIL PROTECTED]
Subject: RE: [WiX-users] FW: issue around INSTALLDIR

 

Why do you have to register this assembly? Is BizTalk calling back into this assembly via COM Interop? Is it simply that you're trying to call the Custom Action implemented in the .NET DLL from _vbscript_? Frankly, that's messy.

 

Do it properly: write your custom action as a 'flat' C++ DLL, then you won't be polluting the user's system with an otherwise-useless COM object.

 

If you must do it, use the correct Windows Installer mechanisms for registering COM objects: the Class and Typelib tables. See Rob's blog entry at http://blogs.msdn.com/robmen/archive/2004/04/28/122491.aspx.

 

--

Mike Dimmick

 

Anirban

 


From: Anirban Basu
Sent: Monday, September 18, 2006 6:28 PM
To: Rob Mensching; Cullen Waters; Windows Installer XML
Subject: RE: issue around INSTALLDIR

 

Hi,

Thanks for your responses.

 

Rob, probably it is not possible to do away with the custom action. I am giving you more details on this.

 

The custom action registers a dll which is copied to the installation directory. The dll is a .NET assembly. Then it calls “Install” and “Uninstall” method within the assembly which does specific actions. (like making BizTalk WMI calls etc.).

 

I agree that storing the installation directory specifically into the registry is an option, but is it what all users of WIX are supposed to do? Does WIX not handle the modified installation directory?

I agree that if I do not store modified installation directory somewhere it is not possible for WIX to identify the installation directory. But what I want to know is that from where WIX reads this value of “INSTALLDIR”?

 

Your help is much appreciated.

 

 

Take Care

Anirban

 


From: Rob Mensching
Sent: Saturday, September 16, 2006 3:17 PM
To: Cullen Waters; Anirban Basu; Windows Installer XML
Subject: RE: issue around INSTALLDIR

 

Or better yet, quit calling your CustomAction.  Something sounds very fishy in this design.  More details about what you are doing in the CustomAction are probably necessary to really provide useful information.

 

From: Cullen Waters
Sent: Friday, September 15, 2006 09:58
To: Anirban Basu; Windows Installer XML
Subject: RE: issue around INSTALLDIR

 

Other users have reported that you have to save the modified installation directory value during install somewhere(like the registry).

 

Then, on untinstall/reinstall/modify, do a regsearch to get the value of the key you created, and change INSTALLDIR to that value.

 

Make sense?

 

From: Anirban Basu
Sent: Friday, September 15, 2006 7:50 AM
To: Windows Installer XML
Subject: issue around INSTALLDIR
Importance: High

 

Hi,

I am running into a very severe issue. I may be having some problem in my setup.wxs file but really not being able to debug it. The issue is as follows.

 

We have a very simple setup, which during setup registers an assembly (for custom action) and calls its methods.

If the installation directory of the product is changed to something else from the default installation directory, the installation gets through properly. Actually in this case “INSTALLDIR” is changed properly to the value of the installation directory that user has selected.

 

During un-installation the variable “INSTALLDIR” takes the default value and never changes to what user has selected during installation. So during un-installation the registration of the custom action assembly fails. Hence the un-installation fails.

 

I can not find what from where windows installer is setting “INSTALLDIR” to default installation directory. Is using the “INSTALLDIR” property reliable? Do I need to set “INSTALLDIR” explicitly?

Can somebody please tell me whether it is the expected behavior?

Please reply ASAP. We are badly stuck in this issue. Any help will be appreciated.

 

Microsoft India R&D Pvt. Ltd.

God is good.

 

Anirban Basu
[EMAIL PROTECTED]

 

Add me to your address book...

Want a signature like this?

 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to