Re: [WiX-users] DLLs and uninstalls
Phil Wilson wrote: See if the log contains any of this type of thing: MSI (s) (CC:24) [13:58:42:909]: Disallowing uninstallation of component: {15239D33-DAE9-46F3-BD59-264A2068B3BC} since another client exists They'll be before those Action: Null reports (which is why they might be saying null). I've done a number of searches through the uninstall log and there is nowhere that says anything like that. There ARE a bunch of lines that say: MSI (s) (3C:D8) [17:52:54:296]: Using cached product context: User non-assigned for product: FBF1218549BD3C74A8A8A9D31F7ED7C1 The last of these being just before the TARGETDIR property is set. There is also a slightly disturbing fragment which says: MSI (s) (3C:D8) [17:52:54:265]: Using cached product context: User non-assigned for product: FBF1218549BD3C74A8A8A9D31F7ED7C1 MSI (s) (3C:D8) [17:52:54:265]: Using cached product context: User non-assigned for product: FBF1218549BD3C74A8A8A9D31F7ED7C1 MSI (s) (3C:D8) [17:52:54:265]: Package name retrieved from configuration data: 'LanMon Extractor v2.5.msi' MSI (s) (3C:D8) [17:52:54:265]: Using cached product context: User non-assigned for product: FBF1218549BD3C74A8A8A9D31F7ED7C1 MSI (s) (3C:D8) [17:52:54:265]: Determined that existing product (either this product or the product being upgraded with a patch) is installed per-user. MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2205 2: 3: Error MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2729 MSI (s) (3C:D8) [17:52:54:265]: Note: 1: 2262 2: AdminProperties 3: -2147287038 Is this something else to be concerned about? -- View this message in context: http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12069204 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
Re: [WiX-users] DLLs and uninstalls
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
Re: [WiX-users] DLLs and uninstalls
Alexei wrote: 1) So how would I find out is Windows Installer is keeping a reference count somewhere? Create a verbose log when install and uninstall: msiexec /l*vx install.log /i mymsi.msi ... msiexec /l*vx uninstall.log /x mymsi.msi Then look for logging around the CostFinalize and InstallValidate standard actions; it records when components won't be installed or uninstalled. -- sig://boB http://joyofsetup.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
Re: [WiX-users] DLLs and uninstalls
The uninstall log yields the following, which I believe to show the problem: MSI (s) (3C:D8) [17:52:54:296]: Doing action: InstallValidate MSI (s) (3C:D8) [17:52:54:296]: Note: 1: 2205 2: 3: ActionText Action ended 17:52:54: CostFinalize. Return value 1. MSI (s) (3C:D8) [17:52:54:296]: Feature: InstallFeature; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: LanMonExeComp; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: LanMonCfgComp; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: readerComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: writerComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: serverComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp65; Installed: Null; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: __readerComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __serverComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __writerComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp66; Installed: Null; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp67; Installed: Null; Request: Absent; Action: Absent So as far as I can tell it knows that serverComp, readerComp and writerComp are installed but performs no action? I'm pretty lost as to why this should be. While I was mucking about I've tried setting SharedDllRefCount=no for the components but that didn't help either. Bob Arnson-6 wrote: Alexei wrote: 1) So how would I find out is Windows Installer is keeping a reference count somewhere? Create a verbose log when install and uninstall: msiexec /l*vx install.log /i mymsi.msi ... msiexec /l*vx uninstall.log /x mymsi.msi Then look for logging around the CostFinalize and InstallValidate standard actions; it records when components won't be installed or uninstalled. -- sig://boB http://joyofsetup.com/ -- View this message in context: http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12057940 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
Re: [WiX-users] DLLs and uninstalls
See if the log contains any of this type of thing: MSI (s) (CC:24) [13:58:42:909]: Disallowing uninstallation of component: {15239D33-DAE9-46F3-BD59-264A2068B3BC} since another client exists They'll be before those Action: Null reports (which is why they might be saying null). Phil Wilson -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Alexei Sent: Wednesday, August 08, 2007 10:16 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] DLLs and uninstalls The uninstall log yields the following, which I believe to show the problem: MSI (s) (3C:D8) [17:52:54:296]: Doing action: InstallValidate MSI (s) (3C:D8) [17:52:54:296]: Note: 1: 2205 2: 3: ActionText Action ended 17:52:54: CostFinalize. Return value 1. MSI (s) (3C:D8) [17:52:54:296]: Feature: InstallFeature; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: LanMonExeComp; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: LanMonCfgComp; Installed: Local; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: readerComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: writerComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: serverComp; Installed: Local; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp65; Installed: Null; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: __readerComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __serverComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __writerComp65; Installed: Null; Request: Absent; Action: Null MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp66; Installed: Null; Request: Absent; Action: Absent MSI (s) (3C:D8) [17:52:54:296]: Component: __LanMonExeComp67; Installed: Null; Request: Absent; Action: Absent So as far as I can tell it knows that serverComp, readerComp and writerComp are installed but performs no action? I'm pretty lost as to why this should be. While I was mucking about I've tried setting SharedDllRefCount=no for the components but that didn't help either. Bob Arnson-6 wrote: Alexei wrote: 1) So how would I find out is Windows Installer is keeping a reference count somewhere? Create a verbose log when install and uninstall: msiexec /l*vx install.log /i mymsi.msi ... msiexec /l*vx uninstall.log /x mymsi.msi Then look for logging around the CostFinalize and InstallValidate standard actions; it records when components won't be installed or uninstalled. -- sig://boB http://joyofsetup.com/ -- View this message in context: http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12057940 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 - 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
[WiX-users] DLLs and uninstalls
Hey guys, I'm still struggling installing some DLLs...well - uninstalling some DLLs I've managed to get the fragments out of tallow, and to link my installer and it even seems to work. However when I uninstall the application the registry entries remain, and the files aren't removed from the WINDOWS\system32 directory. Am I doing something wrong or is this the way it's supposed to work? I've not really had much experience when it comes to setup development. I'm thinking of calling regsvr32 /u for each of the DLLs at the install and uninstall to make sure that the DLLs installed on the target machine are unregistered before the new ones are installed and that they are also unregistered upon uninstall. Therefore I'd make sure the registry entries are removed. Are there any drawbacks to this? Thanks, Alexei -- View this message in context: http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12030825 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
Re: [WiX-users] DLLs and uninstalls
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 -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Alexei Sent: 07 August 2007 10:28 To: wix-users@lists.sourceforge.net Subject: [WiX-users] DLLs and uninstalls Hey guys, I'm still struggling installing some DLLs...well - uninstalling some DLLs I've managed to get the fragments out of tallow, and to link my installer and it even seems to work. However when I uninstall the application the registry entries remain, and the files aren't removed from the WINDOWS\system32 directory. Am I doing something wrong or is this the way it's supposed to work? I've not really had much experience when it comes to setup development. I'm thinking of calling regsvr32 /u for each of the DLLs at the install and uninstall to make sure that the DLLs installed on the target machine are unregistered before the new ones are installed and that they are also unregistered upon uninstall. Therefore I'd make sure the registry entries are removed. Are there any drawbacks to this? Thanks, Alexei -- View this message in context: http://www.nabble.com/DLLs-and-uninstalls-tf4229019.html#a12030825 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 - 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