Thanks for the reply Mike.
I'm pretty new at all this, so please bear with me.

Like you say - I should be (and was) relying on Windows Installer to deal
with the uninstall, however I feel something strange is happening in this
instance. Since if I were to run the application executable without calling
the installer it will fail (presumably since the DLLs aren't registered).
Installing the application (and still running the same executable - not the
one that was installed that is) fixes this.
Uninstalling then breaks the app again.
However like I said the DLLs are still there and so are the registry
entries.

1) So how would I find out is Windows Installer is keeping a reference count
somewhere?
2) I was told that the application requires the DLLs in the system32 folder,
which I realise isn't optimal but there isn't a whole lot I can do about
that. I'll put forward a suggestion that the code be changed in the future.
3) I don't think I have marked the components as permanent but just to be
sure - how would one go about doing so?

Thank you for your time,
Alexei


Mike Dimmick-2 wrote:
> 
> If things aren't being uninstalled, it's typically because Windows
> Installer
> still thinks they're referenced.
> 
> Assuming you haven't marked the components as Permanent - in which case
> Windows Installer will never remove them - it's probably the legacy shared
> DLL reference count. Whatever you used to use to install these DLLs may
> well
> have left a count behind.
> 
> In passing I'll note that the System32 folder is one of those locations
> that
> Windows Installer will initialise the shared DLL reference count, if not
> already present. Installing in private locations does not do this. You are
> strongly recommended not to install your own components in System32 unless
> absolutely required. If you want to share a component among multiple
> installers of your own, create a folder under [CommonFilesFolder], but
> note
> that both the definition/composition and GUID of the component MUST be
> identical in all installers. If you don't care about sharing the binary,
> place the DLL in your program folder.
> 
> I would strongly advise against using regsvr32 /u. You should rely on
> Windows Installer to undo any registration when the components are
> uninstalled. The continuing presence of the registry entries is a symptom,
> not a cause.
> 
> -- 
> Mike Dimmick
> 

-- 
View this message in context: 
http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12050906
Sent from the wix-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to