Hi,
We have been trying to figure out the best way to deploy a software with multiple dependencies and post-installation configuration scripts.
Previously in SCCM 2007 we did this with task sequence where we added all the required parts of the software and ran a configuration step (for example copy config or license file). After migration we planned to deploy the migrated software like we did with SCCM 2007, but then we noticed that all packages that exited with return code 3010 would reboot the workstation by force when deploying via task sequence. This did not happen with SCCM 2007.
This was unacceptable and we started converting packages to applications. Since applications cannot have multiple "programs", like packages did, we decided to create separate applications for each step we had in the task sequences, but it turns out there is a dependency chain limit of 5. If we have a software with base installation, few patches, a configuration step and dependency on - for example - Java (JRE+JDK), the dependency chain easily exceeds the limit. (Source: TechNet)
With task sequences the reboot only happens if the software type is package. With applications you can change the behaviour from User Experience tab (No specific action). This way we could deploy the software with task sequence, but again it turns out that applications deployed from task sequences are not enforced and we would lose most of the benefits using applications (state-based behaviour). (Source: Enforcement of applications installed via task sequences)
What is the Microsoft Way of doing this kind of software deployment?
Some of you might suggest to use a script to do all the steps and deploy it as an application. The problem we see there is that none of the steps are really logged anywhere (without creating a mechanism for logging) and we would need to create the checks (If already installed etc.) all over again, which is supposedly what Configuration Manager 2012 should be doing.
Seems that Microsoft should have included some mechanism to the application model to facilitate configuring software after the installation.
Best Regards,
Juha-Matti