ResolveSource Action , can cause for an uninstal fail.


Image

 Some of the vendor MSI’s which is badly designed will look for the source MSI during uninstall instead of using the cahed MSI.

Most of the cases will be due to the presence of ResolveSource action in the installation sequence.

Unless the MSI itself is badly designed,The original MSI is not needed for uninstall. All MSI files are cached in %WINDIR%\Installer*.* using a random name. This contains the installer structure only, and no files.This MSI file is used for any maintenance and uninstall operations – and it is sufficient for uninstall in the vast majority of cases. The original source is only needed if files need to be copied to disk (for a maintenance install), or the MSI does an explicit request to resolve the original source via the standard action ResolveSource or via a custom action (which shouldn’t be done in a properly authored package).

Ref:MSDN 

The ResolveSource action determines the location of the source and sets the SourceDir property if the source has not been resolved yet.

The ResolveSource action must be called before using the SourceDir property in any expression. It must also be called before attempting to retrieve the value of the SourceDir property using MsiGetProperty. The ResolveSource action should not be executed when the source is unavailable, as it may be when uninstalling the application.

Note: The issue you can replicate by creating an MSI with this ResolveSource action and install with an Admin account from a mapped network drive, and try to uninstall with a SYSTEM account.The source path will be set to the mapped drive during install and as the SYSTEM account may not have the visibility to the mapped drive, the uninstall will fail stating the MSI can not be found. 

 

Advertisements

0 Responses to “ResolveSource Action , can cause for an uninstal fail.”



  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s





%d bloggers like this: