Uninstall issue

Add-in Express™ Support Service
That's what is more important than anything else

Uninstall issue
 
briannesbitt


Guest


Having an issue uninstalling our add-in. The actual app code gets uninstalled from within APPDATA, and the add-in doesn't run but it is not unregistered from PowerPoint and the registry entry under HKCU is still there (I think its just not running because the dll and app code gets removed).

adxregistrator.log (install)

Installation directory: C:\WINDOWS\Installer\
Registrator version: 7.7.4087.0
Operating System: Microsoft Professional (build 9200), 64-bit
Process Owner: Administrator
Command Line: "C:\WINDOWS\Installer\MSI57F5.tmp" /install="C:\Users\name\AppData\Roaming\Product\Our.dll" /privileges=user /returnExitCode=false
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On
--------------------------------------------------------------
23:53:33 0312 Starting the add-in registration process.
23:53:33 0312 Loading mscoree.dll
23:53:33 0312 Success.
23:53:33 0312 .NET Framework installation directory:
23:53:33 0312 The latest version of .NET Framework: 'v4.0.30319'
23:53:33 0312 Loading CLR: v4.0.30319.
23:53:33 0312 Calling CLRCreateInstance method.
23:53:33 0312 Success.
23:53:33 0312 Calling GetRuntime method.
23:53:33 0312 Success.
23:53:33 0312 Checking if the hosting API of .NET Framework v4.0 beta is installed.
23:53:33 0312 The hosting API is up to date.
23:53:33 0312 Calling GetInterface method for the CorRuntimeHost interface.
23:53:33 0312 Success.
23:53:33 0312 Starting CLR...
23:53:33 0312 Success.
23:53:33 0312 Getting the CLR version.
23:53:33 0312 The CLR v4.0.30319 has been initialized successfully.
23:53:33 0312 Creating a new domain setup.
23:53:33 0312 Success.
23:53:33 0312 The 'shadow copy' is disabled.
23:53:33 0312 Creating a new application domain.
23:53:33 0312 Success.
23:53:33 0312 Getting the base directory for the domain.
23:53:33 0312 Success. The directory is 'C:\Users\name\AppData\Roaming\Product\'.
23:53:33 0312 Searching for the Add-in Express core library.
23:53:33 0312 Success. The 'AddinExpress.MSO.2005.dll' file is found.
23:53:33 0312 Creating an instance of the 'AddinExpress.Deployment.ADXRegistrator' class.
23:53:33 0312 Assembly identity is 'AddinExpress.MSO.2005'.
23:53:33 0312 Success.
23:53:33 0312 Unwrapping the instance of the 'AddinExpress.Deployment.ADXRegistrator' class.
23:53:33 0312 Success.
23:53:33 0312 Calling the managed registration procedure (DISPID = 1610743823).
23:53:37 0312 Success.
23:53:37 0312 The add-in registration process is completed with HRESULT = 0.


adxregistrator.log (uninstall)

Installation directory: C:\WINDOWS\Installer\
Registrator version: 7.7.4087.0
Operating System: Microsoft Professional (build 9200), 64-bit
Process Owner: Administrator
Command Line: "C:\WINDOWS\Installer\MSI38E1.tmp" /uninstall="C:\Users\name\AppData\Roaming\Product\Our.dll" /privileges=user
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On
--------------------------------------------------------------
00:01:04 0300 Starting the add-in unregistration process.
00:01:04 0300 Loading mscoree.dll
00:01:04 0300 Success.
00:01:04 0300 .NET Framework installation directory:
00:01:04 0300 The latest version of .NET Framework: 'v4.0.30319'
00:01:04 0300 Loading CLR: v4.0.30319.
00:01:04 0300 Calling CLRCreateInstance method.
00:01:04 0300 Success.
00:01:04 0300 Calling GetRuntime method.
00:01:04 0300 Success.
00:01:04 0300 Checking if the hosting API of .NET Framework v4.0 beta is installed.
00:01:04 0300 The hosting API is up to date.
00:01:04 0300 Calling GetInterface method for the CorRuntimeHost interface.
00:01:04 0300 Success.
00:01:04 0300 Starting CLR...
00:01:04 0300 Success.
00:01:04 0300 Getting the CLR version.
00:01:04 0300 The CLR v4.0.30319 has been initialized successfully.
00:01:04 0300 Creating a new domain setup.
00:01:04 0300 Success.
00:01:04 0300 The 'shadow copy' is disabled.
00:01:04 0300 Creating a new application domain.
00:01:04 0300 Success.
00:01:04 0300 Getting the base directory for the domain.
00:01:04 0300 Success. The directory is 'C:\Users\name\AppData\Roaming\Product\'.
00:01:04 0300 Searching for the Add-in Express core library.
00:01:04 0300 Error: The ADX Registrator can't find the Add-in Express core library.
00:01:04 0300 The add-in unregistration process is completed with HRESULT = -2147024894.

We are using advanced installer following http://www.advancedinstaller.com/user-guide/qa-addin-express-installation.html
Just a guess but it seems the app files are uninstalled before the "adxregistrator /uninstall" command is run, but that custom action is setup to run before "Remove resources".

Thanks.
Posted 30 Apr, 2015 23:08:38 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Brian,

I'll talk to them to find an explanation/suggestion. It looks like AddinExpress.MSO.2005.dll gets deleted by the time the custom action is run.


Andrei Smolin
Add-in Express Team Leader
Posted 04 May, 2015 07:00:38 Top
briannesbitt


Guest


The adxregistrator.exe is setup to run "When the system is being modified (deferred)". There is another option for execution time "Immediately" that seems it would be more appropriate, although against what they suggest. I'll try that in the mean time and let you know.

Let me know if you get anything first. Thanks!
Posted 04 May, 2015 07:15:13 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Brian,

Could you please send me your .aip (setup project file) and a verbose log of the uninstallation process? On how to create such a log, please see http://www.advancedinstaller.com/user-guide/qa-log.html.

You can find the support email address in {Add-in Express installation folder}\readme.txt. Please make sure your email contains a link to this topic. Please make sure your email contains a link to this topic.


Andrei Smolin
Add-in Express Team Leader
Posted 05 May, 2015 07:43:13 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Hello Brian,

I've receive the following suggestions from the Advanced Installer team:

===
Try the following:

1. go to "Builds page -> Configuration tab" and check the "Do not delete extracted MSI and CAB files" option; then rebuild the setup project and test again the scenario on a clean machine

2. go to "Custom Actions" page and uncheck the "Run under the LocalSystem account with full privileges (no impersonation)" execution option for all three addin custom actions (install, uninstall and rollback); then rebuild setup project and test again the scenario

If none of the above helps please try to unregister the addin manually: start the Command Prompt, invoke adxregistrator.exe with uninstall parameters and see if this works as expected.
===

Brian, #2 above makes me suppose that setting is causing the issue you describe in https://www.add-in-express.com/forum/read.php?FID=5&TID=13134.


Andrei Smolin
Add-in Express Team Leader
Posted 06 May, 2015 06:35:24 Top
briannesbitt


Guest


Didn't work. I noticed the difference in the command lines for install / uninstall.

Install:
Command Line: "C:\WINDOWS\Installer\MSI8007.tmp" /install="C:\Users\brian\AppData\Roaming\Product\Our.dll" /privileges=user /returnExitCode=false

Uninstall.
Command Line: "C:\WINDOWS\Installer\MSI4E6E.tmp" /uninstall="C:\Users\brian\AppData\Roaming\Product\Our.dll" /privileges=user

And here is the adxregistrator.log on uninstall:
08:29:17 0292 Success.
08:29:17 0292 Getting the base directory for the domain.
08:29:17 0292 Success. The directory is 'C:\Users\brian\AppData\Roaming\Product\'.
08:29:17 0292 Searching for the Add-in Express core library.
08:29:17 0292 Error: The ADX Registrator can't find the Add-in Express core library.
08:29:17 0292 The add-in unregistration process is completed with HRESULT = -2147024894.


If I copy adxregistrator.exe to the installed directory and run it from the command line it works.
Posted 06 May, 2015 07:45:03 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
And the top of the adxregistrator.log when it doesn't work on uninstall?


Andrei Smolin
Add-in Express Team Leader
Posted 06 May, 2015 07:46:39 Top
briannesbitt


Guest


Add-in Express Registrator Log File: 05/06/2015 08:50:08

Installation directory: C:\WINDOWS\Installer\
Registrator version: 7.7.4087.0
Operating System: Microsoft Professional (build 9200), 64-bit
Process Owner: Administrator
Command Line: "C:\WINDOWS\Installer\MSI64AC.tmp" /uninstall="C:\Users\username\AppData\Roaming\Product\Our.dll" /privileges=user
Run 'As Administrator': No
Process Elevated: No
Integrity Level: Medium
UAC (User Account Control): On


AlwaysInstallElevated is not set (just working on uninstall at the moment).
Posted 06 May, 2015 07:53:51 Top
briannesbitt


Guest


Looks like you were right at the beginning Andrei!

In-case others come across this...

When you setup your custom actions as described at http://www.advancedinstaller.com/user-guide/qa-addin-express-installation.html ensure you enable "Wait for custom action to finish before proceeding" to ensue the add-in is registered/de-registered before the files are deleted on uninstall.

Also, if you are only installing the add-in for the user and don't need admin rights for the installation I would un-check "Run under the LocalSystem account with full privileges (no impersonation)". This helped us install in other few edge cases like when a user has AlwaysInstallElevated turned on.

Thanks to Andrei for helping us fix this as he definitely went above and beyond expectations!
Posted 06 May, 2015 14:06:04 Top
Andrei Smolin


Add-in Express team


Posts: 18794
Joined: 2006-05-11
Many thanks, Brian!

I've asked the Advanced Installer team to consider modifying that instruction.


Andrei Smolin
Add-in Express Team Leader
Posted 07 May, 2015 02:02:23 Top