Silent uninstall of a specific program inside of Office 2010 ProPlus
I am trying to uninstall Access silently on machines that were deployed Office 2010 ProPlus. I have tried writing a new .msp file and doing a "msiexec /i file.msp /qb" command, but that did not work. I tried using "setup.exe /modify ProPlus" with a new config.xml with the following info:
But that didn't work either. The best these accomplish is breaking the Access program to where you can't launch it. It still shows in the Start Menu, and smart users could reinstall it by going to the Control Panel and selecting "Change", going to Add\Remove features, and changing the state of Access to "Run From My Computer".
I have run out of ideas and google is not helping unfortunately. I really need to accomplish this without having to uninstall\reinstall ProPlus, and I need Users to be unable to reinstall it using the above method. Help!
<Configuration Product="ProPlus">
<Setting Id="SETUP_REBOOT" Value="Never" />
<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" NoCancel="Yes" />
<OptionState Id="ACCESSFiles" State="Absent" Children="force" />
<Logging Type="Standard" Path="%programfiles%\Common\Access Removal\" Template="REMOVE_Access2010.log" />
</Configuration>
But that didn't work either. The best these accomplish is breaking the Access program to where you can't launch it. It still shows in the Start Menu, and smart users could reinstall it by going to the Control Panel and selecting "Change", going to Add\Remove features, and changing the state of Access to "Run From My Computer".
I have run out of ideas and google is not helping unfortunately. I really need to accomplish this without having to uninstall\reinstall ProPlus, and I need Users to be unable to reinstall it using the above method. Help!
0 Comments
[ + ] Show comments
Answers (11)
Please log in to answer
Posted by:
aogilmor
12 years ago
Not sure if there's a way to do this with the OCT but maybe you could somehow Jam the install level into the xml file. I cut this from the msi.chm file, I'm sure you can find this and more online,
Level
The initial installation level of this feature. Processing the Condition Table can modify the level value.
An install level of 0 (zero) disables the item and prevents it from being displayed. A feature with an installation level of 0 (zero) is not installed during any installation, including administrative installations. For more information, see the "Install Level" information in the Remarks section of this topic.
Controlling Feature Selection States
You can control which feature installation options are available for users and applications to select by authoring the Feature table and Component table.
To prevent selection of the advertise state for a feature, include msidbFeatureAttributesDisallowAdvertise in the feature's Attributes field in the Feature table.
To prevent selection of the run-from-source or run-from-network states for a feature, include msidbComponentAttributesLocalOnly in the Attributes fields in the Component table for every component belonging to the feature. If a feature has no components, the feature always has the run-from-source and run-from-my-computer options available.
To prevent selection of the run-from-my-computer state for a feature, include msidbComponentAttributesSourceOnly in the Attributes fields in the Component table for every component belonging to the feature. If a feature has no components, the feature always has the run-from-source and run-from-my-computer options available.
Starting with Windows Installer version 2.0, minor upgrades are no longer required to install new child features by using the ADDLOCAL property. Instead new child features can be authored by including msidbFeatureAttributesFollowParent and msidbFeatureAttributesUIDisallowAbsent in the Attributes field of the Feature table.
To install new features with minor upgrades, using a version of the Windows Installer earlier than version 2.0, you must list the new features on the command line as values of the ADDLOCAL property. You must explicitly set the REINSTALL property to the list of features to be reinstalled and not simply set REINSTALL to "ALL".
Level
The initial installation level of this feature. Processing the Condition Table can modify the level value.
An install level of 0 (zero) disables the item and prevents it from being displayed. A feature with an installation level of 0 (zero) is not installed during any installation, including administrative installations. For more information, see the "Install Level" information in the Remarks section of this topic.
Controlling Feature Selection States
You can control which feature installation options are available for users and applications to select by authoring the Feature table and Component table.
To prevent selection of the advertise state for a feature, include msidbFeatureAttributesDisallowAdvertise in the feature's Attributes field in the Feature table.
To prevent selection of the run-from-source or run-from-network states for a feature, include msidbComponentAttributesLocalOnly in the Attributes fields in the Component table for every component belonging to the feature. If a feature has no components, the feature always has the run-from-source and run-from-my-computer options available.
To prevent selection of the run-from-my-computer state for a feature, include msidbComponentAttributesSourceOnly in the Attributes fields in the Component table for every component belonging to the feature. If a feature has no components, the feature always has the run-from-source and run-from-my-computer options available.
Starting with Windows Installer version 2.0, minor upgrades are no longer required to install new child features by using the ADDLOCAL property. Instead new child features can be authored by including msidbFeatureAttributesFollowParent and msidbFeatureAttributesUIDisallowAbsent in the Attributes field of the Feature table.
To install new features with minor upgrades, using a version of the Windows Installer earlier than version 2.0, you must list the new features on the command line as values of the ADDLOCAL property. You must explicitly set the REINSTALL property to the list of features to be reinstalled and not simply set REINSTALL to "ALL".
Posted by:
larryw
12 years ago
Posted by:
aogilmor
12 years ago
If that's the case you should be able to run MSIEXEC /X [ProductCode] REMOVE="ACCESSFiles" and it should leave the rest of the features intact.
I thought you were talking about a fresh install.
Then to limit the user's ability to repair, again, the Level value controls that but not sure how you would do that if the product is already installed. I'd suggest browsing around and getting familiar with the windows installer tables.
Good luck,
I thought you were talking about a fresh install.
Then to limit the user's ability to repair, again, the Level value controls that but not sure how you would do that if the product is already installed. I'd suggest browsing around and getting familiar with the windows installer tables.
Good luck,
Posted by:
larryw
12 years ago
If I use ProPlus as the ProductID, I get the following: "This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package."
If I use "{90140000-0011-0000-0000-0000000FF1CE}" instead, I see a Windows installer progress bar which goes away, and then I can see a number of msiexec.exe*32 processes kick off and it looks like it is doing something. Unfortunately once it all stops, I can still launch MS Access.
If I use "{90140000-0011-0000-0000-0000000FF1CE}" instead, I see a Windows installer progress bar which goes away, and then I can see a number of msiexec.exe*32 processes kick off and it looks like it is doing something. Unfortunately once it all stops, I can still launch MS Access.
Posted by:
Twyan
12 years ago
I too have this exact same query regarding silent uninstall of MS Office 2010 programs issue but with MS Publisher 2010. I am very interested in hearing suggestions on the most effective method for achieving this.
I can achieve my desired result by uninstalling MS Office 2010 and reinstalling MS Office with the appropriate transform, however it would be nice to be able to uninstall the individual programs on computers with MS Office 2010 already installed.
I can achieve my desired result by uninstalling MS Office 2010 and reinstalling MS Office with the appropriate transform, however it would be nice to be able to uninstall the individual programs on computers with MS Office 2010 already installed.
Posted by:
larryw
12 years ago
Using this command:
MSIEXEC /I "{90140000-0011-0000-0000-0000000FF1CE}" REMOVE="ACCESSFiles" /qn
I am able to successfully cripple the Access installation to the point where even Repairs from Control Panel do not work. If the user launches the Access icon, a message comes up saying "Microsoft Access can't start because there is no license for it on this machine." This is obviously not an ideal solution, but it's the best I've found so far without resorting to a complete uninstall\reinstall.
EDIT: Disregard that.. it only breaks it as much as before. Going to Control Panel, clicking Change, Add\Remove features, and then changing the install state of Access to "Run from My Computer" allows for the program to be reinstalled and work correctly again.
MSIEXEC /I "{90140000-0011-0000-0000-0000000FF1CE}" REMOVE="ACCESSFiles" /qn
I am able to successfully cripple the Access installation to the point where even Repairs from Control Panel do not work. If the user launches the Access icon, a message comes up saying "Microsoft Access can't start because there is no license for it on this machine." This is obviously not an ideal solution, but it's the best I've found so far without resorting to a complete uninstall\reinstall.
EDIT: Disregard that.. it only breaks it as much as before. Going to Control Panel, clicking Change, Add\Remove features, and then changing the install state of Access to "Run from My Computer" allows for the program to be reinstalled and work correctly again.
Posted by:
andemats
12 years ago
What if you remove the GUID for Access from the "uninstall" part of the registry? And also manually remove the shortcut. (After the "cripple")
Give MSIZap a try?
Just a couple of ideas from the top of my head. Surely not the most efficiant way of doing it, but it's too early for me to think straight.
Give MSIZap a try?
Just a couple of ideas from the top of my head. Surely not the most efficiant way of doing it, but it's too early for me to think straight.
Posted by:
bitofcopy
12 years ago
Posted by:
larryw
12 years ago
ORIGINAL: bitofcopy
you could try the following method Create the removal *.msp for the product
run the following msiexec.exe /p path to the *.msp
http://technet.microsoft.com/en-us/library/cc179141.aspx
I tried that, and all it did was "break" it. Icons still existed, and the program would still work after safe mode\repairs.
I think I've determined that because its a part of a suite, a smart user will always be able to reinstall via the "Change" button in Control Panel > Uninstall Programs. It's not a program, but a feature of that suite, and the suite will always allow you to adjust its install state via that method.
So really what I'm needing now, is a way to break the Access program and then delete\remove the Icons (and files) so that the average user doesnt realize it is installed any more.
Posted by:
jmaclaurin
12 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.