Before deploying CM12 we converted all of our packages in SCCM 07 into applications. We decided to follow the application model 100%. Early on we discovered that if we deployed a newer version of an application in CM12 and superseded previous version(s) that CM12 would only upgrade the application on machines where it had installed the application because it did not "know about" the previous installs.
We also noticed that the msi source update manager would not update the install sources for applications unless the application was deployed from CM12. CM12 would send down the product codes for all PACKAGES-PROGRAMS with a product code, but would only send the product code down on applications it had installed itself - because it did not "know about" the other installs. These 2 behaviors · Only upgrading superseded versions of apps if the previous version came from CM12 · Only managing the source if the application came from CM12 Led us to believe that the policy for superseded apps only got sent down to machines where the previous version came from CM12 and it "knew about" the install. As an example, we deployed an application called Ariel. Doing a query in CM12 we could see that the application was installed on over 650 machines. Looking at the previous version in CM12 under the application statistics section we could see CM12 had deployed the application to roughly 100 machines. When we deployed Ariel the 100 systems where it was already installed automatically upgraded as they were supposed to, and the other 550 had to go to the application catalog and request the application. Additionally the 100 users would see the mandatory upgrade in the software center, and the other 500 users would only see the application in the application catalog. So to sum up from a policy perspective, If we deployed a superseded application to all users as available · CM12 would make that application available to all users in the application catalog · It would send policy about the application and superseded versions down to computer-user combinations that had a previous version installed FROM cm12 · It would not send the policy down to all users or all systems · It would only update the source on systems where a user had requested the application · Only user that had a previous version installed form CM12 would see a notification in the software center >From a user perspective, If we deployed an application to all users as >available · If they had a previous version AND it came from CM12 they would see a notification in the software center that a new application was available and ask them to upgrade it · If they had a previous version and it did NOT come from CM12 they would NOT see a notification in the software center, they would instead have to go to the application catalog and request the newer version · If they did not have any version of the application they would not see anything in the software catalog We would also occasionally see CM12 upgrade an application where it had NOT deployed the previous version. This did not happen very often and I never saw a concrete example where I new for a fact the previous version did not come from CM12. I just wrote this off as one of the unexplained mysteries of SCCM that is really hard to nail down and not reproducible. Then we had some issues with one of our core applications, Adobe Reader. User were complaining that it was initiating self-healing and was unable to locate the install source. We decided to deploy it to all systems. Core applications are assigned to All Windows 7 Systems, User applications are deployed as available to All Users. In preparation for deploying it I sent out a simulated deployment to All systems. It turned out that the simulated deployment let CM12 "know about" the install, and it began to update the install source. So I thought, if we do a simulated deployment for each application we deploy CM12 will send that out to all systems and then it will "know about" the installs and go ahead and upgrade all superseded versions. So to sum up the new expected behavior from a policy perspective, If we deployed an application to all users as available and send out a simulated deployment to all systems · CM12 would make that application available to all users in the application catalog · It would send policy about the application and superseded versions down to computer-user combinations that had a previous version installed FROM cm12 · It would not send the deployment policy down to all users or all systems · It would discover other installations of the application because of the simulated deployment · It would then send down the deployment policy to the user or system so that the application gets upgraded · CM12 would begin managing the install source on that system · Users that had a previous version, regardless of where it came from, would get a notification in the software center that they needed to upgrade the applications · User that did not have a previous version would not see anything in the software center What we began seeing is CM12 making the application available in the application catalog, and ALSO in the software center, regardless of if they had the application installed or not. This is not consistent across applications or users. It appears to be 100% random. Question: What is the expected behavior?

