tags:

views:

3241

answers:

5

I often get a problem with Windows Installer trying to uninstall a package, but it complains that

The feature you are trying to use is on a network resource that is unavailable.

Is there a known means of uninstalling such packages when the original MSI is simply not available?

A: 

Control Panel --> Add/Remove programs?

EDIT: Your post mentions nothing about using add remove programs to uninstall the app, you said the "Windows Installer" (MSIEXEC - see the link below), which is not the same thing.

http://msdn.microsoft.com/en-us/library/aa367988(VS.85).aspx

StingyJack
That is where my problem starts.
ProfK
You didnt say that.
StingyJack
Uninstall uses the provided uninstaller which is an usually an MSI.
epochwolf
So how come I am wrong with a -2 then?
StingyJack
I didn't vote you down, but I thought I pretty much implied what epchwolf says.
ProfK
BTW, if it needs an MSI file, I think it's pretty damn obvious that it's Windows Installer.
ProfK
A: 

Unfortunately one huge drawback of the MSI files is you need the complete MSI file in order to uninstall, and worse, the file is renamed and stored in a Windows folder, so even if you track down the MSI on the web or on a CD, you won't be able to uninstall. And even worse, many of these MSI are big, I've seen PCs with 2gb of MSI files stored on the HD.

TravisO
Incorrect, the MSI database itself it usually only a few MB at most once embedded CAB files are extracted. Only the MSI without the CAB files is usually cached on the system
sascha
I second sascha here, the MSI cached in C:\Windows\Installer is a stripped down version of the installer MSI without CABS. This cached copy is used for repair / uninstall after installation. The source media is only needed if the repair needs to reinstall files or if the MSI is badly designed and runs operations that "asks for" the original source.As far as I understand future versions of MSI will cache the entire MSI before installation occurs.
Glytzhkof
I second Sascha on this, the database is indeed stripped of all cabs - and in most cases this is sufficient for uninstall. However, in certain cases as explained in my previous answer, the uninstall may run ResolveSource or a badly written custom action that will trigger a request for the original installation source. When this happens you either have to zap the installed MSI or find the original source media.
Glytzhkof
+7  A: 

Take a look at a tool called MSIZap released by microsoft http://support.microsoft.com/kb/290301

Nick Kavadias
Thank. I actually had it installed already and had completely forgotten about it.
ProfK
MSIZAP === BAD! See http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers for more information on why .
sascha
A: 

There is an msicleanup util from microsoft http://support.microsoft.com/kb/290301
Or Ccleaner http://www.ccleaner.com/ can usually do this.

Martin Beckett
no no no no no ... it leaves your system in a dirty state. See http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers for more info.
sascha
That post doesn't explain what to do if you didn't leave multiple Gb of MSI output in some GUID labeled folder on your machine.
Martin Beckett
+1  A: 

In most cases MSI packages can be uninstalled from add/remove programs even if you don't have the original installation database for the MSI. Earlier versions of MSI tended to trigger this problem more often, and legacy MSI files can still cause uninstall problems that can only be solved using the msizap.exe tool.

Technically the cause of the problem is usually the standard action 'ResolveSource" or a badly written custom action which specifically "asks for" the original installation file. This is not normal or recommended MSI behavior, so if you experience this with a vendor MSI it is highly recommended that you report the problem to their support team.

Glytzhkof