PDA

View Full Version : Uninstalling nested MSI



Malaidas
12-21-2004, 01:04 PM
Hi all

I've got an application which attempts as part of its function to install Shockwave 10. This is distibuted as an MSI. I've added it as a nested MSI custom action.

It installs fine, but when trying to uninstall brings up error 2723: logged as

DEBUG: Error 2723: Custom action Shockwave_10 specifies unsupported type

And I now cannot remove the application by normal means, I'm going to try System Restore as a last ditch attempt

If at all possible I'd like to prevent shockwave being uninstalled. However there does not seem to be a way to do this. I'd at least like to find a way round this error message though

Can anyone please help me with this problem please.

thanks

Stephen Whipp
Eastmond Publishing Ltd. (UK)

nathandragon
12-21-2004, 04:59 PM
Hi Stephen-

Are you saying that you are "Launching another MSI package" as a Custom Action?

In my install I install and uninstall another .msi - have a custom action to install with a condition <Not Installed and NOT REMOVE="All"> and another custom action to uninstall with condition "Installed". In your case you would only need the custom action to install and leave out the custom action to uninstall.

I had a lot of trouble with these depending on where I sequenced them. I put them after Install Validate in the User Interface sequence as immediate execution. You can run into trouble if you sequence these at the wrong time - you will end up with conflicts as you can't have more than one msiexec running.

Hope this helps.

-Nathan

Malaidas
12-21-2004, 06:30 PM
Thanks

I can certainly move the action to another place but how do you stop them being uninstalled.

thanks in advance

Stephen Whipp
Eastmond Publishing Ltd. (UK)

nathandragon
12-21-2004, 07:01 PM
Well, my *install* custom action includes the condition <NOT REMOVE="ALL">, which means that the msi installation is only launched on install, not uninstall. However, I'm a bit baffled as to how you are launching the Shockwave installation in the first place. I had to explicitly add an action to remove the MSI, but it sounds like your install is doing it automatically. That doesn't make sense to me.

Do you have a Custom Action that launches and MSI package, or are you doing something else like including a merge module? How exactly are you launching a nested MSI?

-N

Malaidas
12-21-2004, 07:20 PM
The only 2 merge modules I have are GDI+ and ATL7.1
The custom action runs after an exe custom action which is our own setup for DirectX.
It does seem to run 4 msiexec processes when doing installation but it 'appears' to install shockwave 10 successfully. It could be that my dev machine already has it, but it should have been only v8.5. I'll test this out

I used the wizard to create a custom action for it. As detailed in the help file it ends up with the following Properties

MSIFILEPATH: <NewCustomPathVariable1>\sw_pub.msi
properties Settings: ARPSYSTEMCOMPONENT=1 ADDDEFAULT=ALL ALLUSERS=[ALLUSERS]
Return Processing:Synchronous (Ignores exit code)
In script Execution: Immediate Execution
Execution Scheduling:Execute Only Once
Use 64bit: No
Install UI: Absent

Install Execute: After Direct X

Advertise: Absent

Admin UI: Absent

Admin Exec: Absent

MSITYPE: 327

Comment: INstalls Shockwave 10

I'm a bit of a newbie to profession I'm afraid having been using Express up until this month

nathandragon
12-21-2004, 07:55 PM
Well from what I can tell, your custom action only <installs> Shockwave. Your custom action would have a parameter such as "REMOVE=ALL" if it were an action to remove the package.

I think something somewhere else is tripping you up to make you think that Shockwave is getting uninstalled.

Good luck!

-N

PS: I'm essentially a newbie as well, so take everything I say with a grain of salt. ;)