keeleysam / munki-exported

Automatically exported from code.google.com/p/munki
Other
0 stars 0 forks source link

uninstallxml incomplete for Adobe CCP generated packages #349

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create package with multiple apps in Adobe CCP (currently using version 1.6, 
but also present on older versions, 1.4 that I am sure about)
2. Import generated Install.pkg into munki
3. Install on a system using munki, and then uninstall using munki

What is the expected output? What do you see instead?
After moving the Adobe installer from a managed_install to a managed_uninstall, 
all apps installed by munki are removed. However, only one app is removed.

What version of the Munki tools/InstallOSpkg tools are you using? On what
version of OS X? 1.0.0.1874 on 10.9.3 and 10.9.4. Also tried on 10.8.5 with 
several previous 1.0 releases of munkitools

Please provide any additional information below.
The app that is removed is also the app that, when running munkiimport on the 
initial CCP generated package, munki suggested the name be set to this app. 
When looking inside the optionalXML.xml file inside the CCP generated package, 
this is the first app listed under the Medias key.

Original issue reported on code.google.com by hfi...@gmail.com on 15 Jul 2014 at 9:55

GoogleCodeExporter commented 9 years ago
More discussion here: 
https://groups.google.com/forum/?fromgroups=#!topic/munki-dev/GOZCE_IuPpc

Original comment by hfi...@gmail.com on 15 Jul 2014 at 9:56

GoogleCodeExporter commented 9 years ago
ccp generated optionalXML.xml file and pkginfo file after munkiimport: 
https://gist.github.com/hfike/be05f9e729fe38f12333

Original comment by hfi...@gmail.com on 15 Jul 2014 at 10:05

GoogleCodeExporter commented 9 years ago
I can't say if this is related but it might be. We installed Adobe CC via the 
CCP thing and munki as an optional install. We noticed about two weeks ago when 
Adobe did that "major CC update" that their own updated downloaded NEW versions 
of the applications. So now all the computers that have CC now have "Adobe 
Photoshop CC" and "Adobe Photoshop CC 2014" applications. It installed the new 
copies and left the old.

All that to say, even if you fix this initial issue, you may have an issue 
where it removes all the "CC" apps but leaves the updated "CC 2014" apps in 
place.

Original comment by danielha...@gmail.com on 15 Jul 2014 at 10:19

GoogleCodeExporter commented 9 years ago
CC and CC 2014 are two different suites even though they are covered under the 
same license. Just as you could install CS6 on a machine with CS5 and all apps 
from both suites would be present, the same is true for CC. This is not related 
to this issue.

Original comment by hfi...@gmail.com on 16 Jul 2014 at 2:00

GoogleCodeExporter commented 9 years ago
I ran an optionXML.xml file from both a AAMEE CS6 package and a CCP CC2014 
package through the getCS5uninstallXML() function from adobeutils.py and the 
outputs are here: https://gist.github.com/hfike/be05f9e729fe38f12333 Let me 
know if it would be helpful if I posted the CS6 optionXML.xml file.

Original comment by hfi...@gmail.com on 18 Jul 2014 at 8:00

GoogleCodeExporter commented 9 years ago
Since each product is listed in their own Media key and there are now 
individual DeploymentInfo, DeploymentUninstall, and Deployment keys for each 
product, I've found that the following worked by manually incrementing the 
index of the Media list. I couldn't figure out a way to iterate and there will 
be obvious regressions issues, however, the Media key does not appear in my CS6 
AAMEE optionXML.xml:
def getCS5uninstallXML(optionXMLfile):
    '''Gets the uninstall deployment data from a CS5 installer'''
    dom = minidom.parse(optionXMLfile)
    Media = dom.getElementsByTagName('Media')
    if Media:
        DeploymentInfo = Media[1].getElementsByTagName(
                                                        'DeploymentInfo')
        if DeploymentInfo:
            DeploymentUninstall = DeploymentInfo[0].getElementsByTagName(
                                                            'DeploymentUninstall')
            if DeploymentUninstall:
                deploymentData = DeploymentUninstall[0].getElementsByTagName(
                                                                    'Deployment')
                if deploymentData:
                    Deployment = deploymentData[0]
                    return Deployment.toxml('UTF-8')
    return ""

Original comment by hfi...@gmail.com on 18 Jul 2014 at 9:05

GoogleCodeExporter commented 9 years ago
Moved here: https://github.com/munki/munki/issues/349

Original comment by hfi...@gmail.com on 9 Oct 2014 at 6:52