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] 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:
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 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 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:
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.
|
------------------------------------------------------------------------- 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