Let’s understand what application packaging and repackaging are. We will discuss the benefits and workflow of packing and re-packaging for an organization. All the existing packaging practices are going to change with MSIX and modern packaging technologies.
Let’s understand this from my extensive experience in Packaging, SCCM, and Windows 10. This is my first post in the HTMD community, My name is Arun Ashokan, and I work as a consultant.
What is Application Packaging?
Application packaging is a process adopted by organizations to Install software’s on the required devices in an efficient manner. Benefits of this process are many that include time & cost savings along with increased efficiency.
Imagine an organization with hundreds or thousands of devices where the same piece of software (for example, Adobe, a widely used application) needs to be installed with a limited number of IT Admins/Technicians. Sounds like a humungous task, right? We can perform this task with ease and zero user interaction in such scenarios using application packaging and a proper deployment mechanism.
What is Application Re-packaging?
Re-packaging can be defined as customizing any application according to the requestor’s needs. In real life, you can compare this task to that of a surgeon who can change the way you look and behave, both Cosmetic and Internal Organs 🙂
Technically speaking, repackaging can also be referred to as a recreation of Application. E.g., when you need to convert an EXE to MSI, you perform it by capturing the differences before and after installing the application using third-party tools.
Common Packaging Formats
The most common packaging formats of repackaging are MSIX, MSI, App-V, and Intunewin. While Both Packaging and Re-packaging offer almost the same amount of benefits to the process of creation, Re-packaging is a tedious one as it requires some external tools. While re-packaging, there is also an element of risk involved in capturing irrelevant or damaging elements in the captured package.
To give you a real-life example of the risk, While capturing one of the applications, a USB driver file was captured by mistake; it passed the quality test and was deployed to more than 100 thousand devices, making their USB ports stop functioning. So, while repackaging the applications, one should always be vigilant in excluding irrelevant and damaging files.
Benefits of Packaging Repackaging:
Let’s understand why you need to perform packaging/repackaging?
• It will minimize the security risks. Now with a process in place very few users would need Admin access on their devices.
• Minimizes Support Costs by reducing frequent End user Support and Software related support as we can manage the software’s by centrally managed Deployment Tool.
• Ease of Deployment, Using Deployment Tools we can deploy applications onto the relevant devices anywhere in the world.
• We can reduce compatibility Issues on Devices.
• Improved IT efficiency.
• Maintaining Software Standards across organization.
• Include New actions in Re-packaged application which were not present in legacy installations.
Best practices and Workflow of Application Re-Packaging
Let’s find out the application packaging workflow.
1. Application Validation: In this phase, the packager will gather the requirements for package creation and verify the installation of the application source provided along with the customizations requested by the requestor. Invalidation phase, you will also determine what packaging format (MSI, APP-V, etc.) is suitable for the provided application.
2. Application Re-Packaging: Once the packaging format is decided, you will repackage the application as needed.
3. Quality Testing: Once the package is completed, it will be sent to the QA team for Quality Testing, where your package is verified to see if it meets the standards and functionality requirements.
4. User Acceptance Test (UAT): Once the package successfully passes the QA Test, it should be sent for PILOT (small group of users/devices) to test and see if the package is causing any issues in the production environment. If the package is causing any issues to request will be assigned to the packager again to re-package and resolve the issues thereafter it is sent to Quality Test again and to UAT. So, it’s a cyclic process.
5. Production Rollout: Once the UAT is successful and the requestor confirms no issues with the package created, we can roll out the package to the production machines with the requestors approval.