Proven Leading Practices to Improve Distribution Operations & Effectiveness
- Best Commercial Packaging Practices
- Application Packaging Best Practices
- Packaging Best Practices Design
- Support Group Operations
-- 344Finance
- 245Human Resources
- 230Information Technology
- 372Marketing
- 70Legal
- 93Compliance
- 165Shared Services
- 16Risk Management
- General Line Groups
-- 150Call Center
- 150Customer Service
- 162Product Development
- 102Collections
- 300Sales
- Supply Chain Operations
-- 461Supply Chain Management
- 167Production
- 128Procurement
- 108Order Management
- 106Materials Management
- 107Distribution
- 67Master Data Management
- 60Logistics
- Financial Services
-- 965Banking
- 229Insurance
- 130Mortgage Lending
- 428Investment Management
- 445Broker Dealer
- 235Consumer Finance
- Healthcare
-- 447Health Plans
- 101Pharmaceuticals
- 81Healthcare Facilities & Services
- Other Services
-- 118Utilities
- 65Print Publishing
- 68Broadcast Media
- 263Advertising
- 90Retail
Distribution Best Practices
Proven Leading Practices for Distribution Operations
- In the past, sustainable packaging simply meant that it was recyclable. And while the 3Rs —Recycle, Reduce, Reuse — are the gold standard when it comes to eco-friendly practices, recycling has always reigned supreme.
- Serialization: Best practice for packaging line and site readiness As the deadlines for the US Drug Supply Chain Security Act (DSCSA) and the Falsified Medicines Directive (FMD) near, pharma businesses should be prioritising the validation of their solutions.
1.1 This practice establishes minimum requirements for packaging of supplies and equipment, exclusive of ammunition, explosives, or hazardous materials, as covered in Title 49 of the Code of Federal Regulations. 1.2 The values stated in inch-pound units are to be regarded as standard. No other units of measurement are included in this standard.
Standardize Product Packaging to Improve Packaging Quality and Reduce Design Cycle Times
Best Practice (Good)
Standardize packaging for all products based on weight and physical dimensions to reduce the overall amount of time spent designing packages. Ensure that standardization information is housed in a database easily accessible to both designers and front-line packaging agents (typically through an Intranet-based resource), and that all suggestions for standards provided by such employees are addressed as soon as possible. Define levels of damaging risk for product materials and create packaging guidelines accordingly.
Typical Practice (Bad)
Create product packaging on an ad hoc basis relative to the goals of packaging each individual product (e.g., durability for certain products and accessibility for other products) offered by the company. This, in essence, increases the quality of packaging by making each design specific to each product, and ensures that each product is appropriately safeguarded.
Benefits:
Standardizing the packaging for all of the company's products reduces the overall amount of time employees spend designing packages and their specifications. By placing all relevant standardization information (includes levels of damage risk for product materials, packaging guidelines, etc.) within an easily accessable database (typcially through an Intranet-based resource), package designers and front-line packaging employees are not only able to stay in compliance with those standardizations, but they also become better able to identify quality control issues more efficiently. Furthermore, such an easily accessable database allows package designers and front-line packaging employees to submit suggestions for standards which both fosters cooperation between employee groups and increases employee morale.
Allow Customers to Track Their Order Shipment Progress in Real Time to Improve Customer Experience
Best Practice (Good)
Provide customers the ability to track information concerning their order's shipment progress in real-time (typically found within the customer's account) in order to both foster customer goodwill and satisfaction and help the organization meet its business objectives. Ensure that customers are informed (presented information typically includes when customers should expect to receive the product, the time the product leaves the warehouse, etc.) at every stage of advancement in the shipment process from the time when the order is received until when the product is received by the customer.
Typical Practice (Bad)
Provide customers with information concerning when they should expect to receive the products they ordered immediately after the order is placed. Keep further contacts to a minimum to reduce customer frustration due to extensive contacts and an overload of irrelevant information. Provide customers satisfaction surveys after the promised delivery date to ensure they received the product in good order and on-time.
Benefits:
Providing customers the ability to track information concerning their order's shipment progress in real-time (typically located within the customer's account) not only keeps customers up-to-date on the progress of their order (thus dispelling any uncertainty they may have over whether they will receive the product on-time), but it also creates a customer-focused culture within the order management process. Supplementing such a tracking ability with periodic contacts concerning every stage of advancement in the shipment process of an ordered product (presented information typically includes the time customers should expect to receive the product, the time the product leaves the organization's warehouse, any stops along its route to the customer, etc.) increases customer satisfaction and ensures the organization is doing its part in providing the customer the product they ordered on-time.
Introduction
The guidelines described here are intended to give all the packages the same look and feel as well as to ensure the quality of the packages. The term legacy will be use throughout this document. A legacy installation is a traditional installation that is not MSI based.
MSI is the Packaging Standard
All packages should be in the MSI/MST format when delivered to the customer. This goes for all packages, even ones as trivial as creating a single shortcut in the start menu.
MSI Capturing
If an legacy installation is captured as an MSI, it is required to be done on a clean machine. A clean machine must have only the following:
- The operating system (i.e. Windows 10)
- Operating system service packs required by the client
- Single Administrator Account
A clean machine must not have the following:
- Any core applications for that build
- Additional user accounts beyond the local administrator
- Antivirus protection
The tool used to capture should be installed on a network share point. This will maintain the integrity of our clean machine by keeping it free of any installations.
Naming Conventions Inside the MSI
Product Name
GOOD! | Adobe Acrobat Reader 9.0 |
BAD | Adobe Acrobat Reader |
BAD | Acrobat Reader |
BAD | Acrobat Reader 9.0 |
Product Version
This is the version of the product being packaged. Captured legacy installations must adhere to Microsoft versioning rules. Vendor MSI will retain the version set by the vendor.
Major_Version.Minor_Version.Build_Number.Optional
Major_Version: 0 – 255
Minor_Version: 0 – 255
Build_Number: 0 – 65,535
Optional: Can be whichever number you like, it is not read by the Microsoft Installer.
If the product version does not match this format, it should be changed to match so that it can be properly recognized and upgraded in the future. Here are some examples of non-compliant versions and what to change them to:
Microsoft word 2002 SP3 –> 10.676.6735 (All MS products will have a valid version)
Somecompany InHouse App –> 1.0.0 (If this is the first version)
Acrobat Reader 6 –> 6.0.1 (Enter the full version always)
Bloomberg Oct 5 2006 –> 006.10.05 (Enter dates YYY.MM.DD)
It is important to remember that MSIs will upgrade based on upgrade code and version number. So make sure that subsequent versions of applications will exceed the present ones.
Manufacturer
The manufacturer or vendor should be displayed the same each time. Include the full company name but ignore any prefixes they may use, such as inc, ltd, corporation, etc.
For example:
Google Ltd –> Google
IBM Corporation –> IBM
Microsoft Corporation –> Microsoft
Adobe Systems Inc –> Adobe
Author
The Author field in the repackaged MSI’s “Summary Information Stream” must be set to:
Malina Services
Do not specify a country name, or an individual packager name.
Installation Directory
All application should be installed into the directory:
C:Program FilesVendorNameApplicationName
C:Program Files (x86)VendorNameApplicationName
OR
C:Program FilesApplicationName
C:Program Files (x86)ApplicationName
An application cannot install anywhere else without explicit permission by the account owner or another designated authority for the account. The following locations are NOT allowed to install the application to:
C:AppName C:WindowsAppName C:Windows … AppName somenetworkdriveAppName

If an application cannot support spaces in the name (i.e. program files) then install the application to:

C:AppsAppName
Note: The MSI Property INSTALLDIR should be set to this directory
Programs and Features (Previously: Add/Remove Programs)
Modify/Change Button
The modify/change button should be disabled. The users should not have the ability to modify the installation of the packages. (MSI Property: ARPNOMODIFY=1)
Display Name
Package names must appear in add remove programs with the vendor supplied name. If the package name does not appear in the capture for some reason, then give a user friendly name that can be read by users (i.e. Adobe Acrobat Reader 5.0). Do not display the other naming convention in add/remove programs (i.e. Adobe_AcrobatReader_5.0_W7_EN_B1).
Shop for wd my book mac at Best Buy. Find low everyday prices and buy online for delivery or in-store pick-up. WD 3TB My Book for Mac Desktop External Hard Drive - USB 3.0 - WDBYCC0030HBK-NESN. 4.3 out of 5 stars 378. Only 8 left in stock. WD My Book 4TB Desktop External Hard Drive for Windows/Mac/Laptop, USB 3.0 Black (WDBBGB0040HBK-NESN) Dimensions: 6.73' x 1.93' x 5.47' Weight: 2.21 lbs. Package Contents: Desktop hard drive USB 3.0 cable AC adapter WD Discovery software with WD Backup, WD Security and WD Drive Utilities Quick install guide. Then, a few weeks ago, we bought a new WD 3 TB 'My Book for MAC' External Drive at Best Buy. Within 10 minutes - YES, 10 Minutes - we had it out of the box and up and running with our MacBook Pro. Together with the Mac's 'Time Machine' utility, this drive keeps up to the second changes to the MacBook's system files, photos, music,movies,. MY BOOK FOR MAC USER MANUAL Enhancing Performance with WD +TURBO WD +TURBO is a utility on the My Book drive that you can install to improve the performance of the drive on a Mac computer. To install WD +TURBO: Double-click the My Book icon, and then double-click the.dmg file on the screen.
Correct
Incorrect
MSI Properties
ALLUSERS
ALLUSERS=1 should always be set to ensure packages install per-machine, not per-user.
LIMITUI
LIMITUI=1 should be set to restrict the user interface (UI) level to ‘Basic’ (in conjunction with ARPNOMODIFY=1, see note below)
- Required for authored/captured MSIs to ensure that the package installs without showing UI Dialogs (if accidentally run manually, etc.)
- Incorporated into Transform’s property table if possible (for consistency and, for example, if the /QN switch is forgotten during deployment)
IMPORTANT: If you set LIMITUI=1, you MUST ALSO set ARPNOMODIFY=1. (If LIMITUI=1 but the ‘Modify/Change’ button in Add/Remove Programs is still visible, msiexec.exe may get stuck in a loop when the user clicks the ‘Modify/Change’ button.) In other words, if the package requries ‘Modify/Change’ functionality via Add/Remove Programs, then do NOT add the LIMITUI proprety.
QA must test the package at least once to ensure it will function as expected for the customer.
ARPNOMODIFY
ARPNOMODIFY=1 will disable to modify button in add/remove programs. You can also accomplish this in the General Information – add or remove programs. Setting ARPNOMODIFY=1 is mandatory if LIMITUI=1 (see above.)
ROOTDRIVE
ROOTDRIVE=C: should be set unless the client is using a different drive letter, in which case set the appropriate letter drive as the root drive. If this property is not set, the installer will install to the drive with the most amount of disk space.
REBOOT
REBOOT=ReallySuppress should be set to ensure that the MSI does not ever reboot. All reboot will be controlled by the deployment tool.
ISCHECKFORPRODUCTUPDATES
ISCHECKFORPRODUCTUPDATES=0, this is not a service we use, and should always be set to 0. ONLY edit this Property if it already exists. If it does NOT exist, then do NOT create it. (It is specific to packages created with InstallShield.)
INSTALLDIR
INSTALLDIR=Set to the main installation folder of your application.
Note: INSTALLDIR is not found in the Property table; it is actually defined via the Directory table and the current value for INSTALLDIR is displayed in InstallShield’s ‘General Information’ section.
Merge Modules
Use Merge Modules whenever possible for any common components. Try to use commercially produced merge modules when possible.
Registry
Ensure that all user registries are separated into their own components separate from machine registries. This will ensure that when new users log onto the machine, the self-repair will detect a missing components in the user’s profile and install the user components for that new user.
Files
Ensure that all user files are separated into their own components separate from machine files. This will ensure that when new users log onto the machine, the self-repair will detect a missing components in the user’s profile and install the user components for that new user.
INI Files
All ini files must be written through the IniFile table in the MSI. No ini file should be created as a conventional file through the File table in the MSI.
Shortcuts
All shortcuts should be placed in:
Start MenuProgramsVendorShortcut Name
If the shortcut is placed in All Users of the Current User profile depends on the account. If the account has not specified then by default we always install shortcuts to the All Users profile. Shortcuts should never reside in the Default User profile unless this is explicitly requested by the client.
Remove all shortcuts that reference upgrading or uninstalling the application. Remove all shortcuts from the desktop and quickh toolbar unless specifically requested by the client.
Advertising
Vendor MSI with Shortcuts – You should not change the advertisement settings for vendor MSI shortcuts. If the vendor MSI’s shortcuts are not advertised and user files/registry needs to be copied to profiles, use Active Setup.
Vendor MSI without Shortcuts – Use Active Setup if user files/registry need to be copied to profiles.
Captured MSI with Shortcuts – Try to advertise all shortcuts first. Only if a shortcut cannot be advertised for some reason, then Active Setup can be used.
Captured MSI without Shortcuts – Use Active Setup if user files/registry needs to be copied to profiles.
BOTTOM LINE: Always use advertisement when possible, use Active Setup as an alternative.
There are other occasions that Active Setup may be used when Self-Healing is not sufficient.
File Associations
File associations are allowed provided they do not override associations set by another application. Certain exceptions can be made, for example if Mozilla Firefox became the new default HTML viewer, then it would take over the file HTML association from Internet Explorer.
Example:
To have the extension .spl opened by the program sample.exe:
Key: HKCR.spl
Value: Default = “SPL.Document”
Key: HKCRSPL.Document
Value: default = “SPL Document”
Key: HKCRSPL.Documentshellopencommand
Value: default = “C:Program FilesSampleAppSample.exe” “%1”
Application Paths
All executable applications should be registered with windows. The two ways to register these executables is:
- The executable’s folder is registered in the PATH
- The executable is registered in the registry (HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Paths)
Example:
Key: HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Pathssample.exe
Values: (Default) = C:Program FilesSampleAppSample.exe
Path = C:Program FilesSampleApp
Most application should use this second method. Only use the path if the vendor’s installation modifies the path.
Services
Make sure that the service is properly started if required when the package installs. Certain captured services will only start if prompted or after a reboot. Also make sure to use the NT Services component in installshield, do not install through the registry.
Media
Captured or built MSI’s media compression should be set to internal CAB files.
Vendor media should remain as delivered from the vendor for both internal and external compresses or uncompressed media.
Best Commercial Packaging Practices
Hardware Drivers
Legacy setups that install hardware drivers may be wrapped directly confirmed if they are instead of capturing if they are proving too difficult to capture. If this is the case, see the Legacy Installations section.
Legacy Installations
Legacy Installations that cannot be captured are very rare, but they do exist.
Self-Healing
All mandatory components (OCX, DLL, EXE, Shortcuts, critical files) must be able to self-heal if removed. To accomplish this, review the components and follow the component rules:
- No component will contain more than 1 system file (DLL, OCX, EXE)
- Component will not contain multiple files from different directories
- No component will contain multiple registry keys from different hives
- User profile files and folders will be in a component with a HKCU registry value set as the key (create a dummy key if required). This will launch the self-repair when a new user logs on to a machine for the first time.
System Files to Append
Never overwrite any of the following system files. New information must be appended to them:
- C:WINDOWSODBC.INI
- C:WINDOWSODBCINST.INI
- C:WINDOWSsystem.ini
- C:WINDOWSwin.ini
- C:WINDOWSsystem32driversetchosts
- C:WINDOWSsystem32driversetcnetworks
- C:WINDOWSsystem32driversetcprotocol
- C:WINDOWSsystem32driversetcservices
Changing Permissions on the Registry or File System
Application Packaging Best Practices
Windows Installer Service handles permissions via the LockPermissions table. You can use the LockPermissions table to set permissions on Files, Folders and Registry Keys. When it comes to handling File Permissions, it is essential to note that msi engine only supports granting permissions to files being installed with the windows installer package. If you want to set permissions on a file that already resides on the system, this will need to be done via Custom Actions. To set permissions using the LockPermissions table, simply right click on files, folders or registry items in InstallShield Editor and select Permissions. This enables the Permissions dialog, that allows you to specify a Domain, User and Permissions. Ensure that the Domain Field is empty. For User, you can use well Known names such as ‘Users’, ‘Everyone’, ‘Domain Users’, etc. For Permissions, simply check against the permissions you want to give.
If you use well known SIDs such as BuiltinPowerUsers or BuiltinUsers, make sure that you also add another entry in the Permissions for BuiltinAdministrators. Not doing so, will cause the local administrator to be locked out of the object.
Summary:
- You can set Permissions on Files / Folders / Registry Keys
- Permissions can only be set on Files being installed by the msi package
- When setting permissions on Files, the media should be uncompressed
- When setting permissions on well known SID BuiltinPower Users or BuiltinUsers, you must also set permissions on BuiltinAdministrators
Upgrade Codes
If an MSI is an upgrade, it should contain the upgrade code of the previous version so that it will perform the upgrade.
First Use Dialogs

Unless specified by the user, these first use dialogs must be confirmed if they are kept or not with the requestor.
Launch Conditions
All MSIs created (Vendor and Captured) will contain a launch condition to check to ensure that the target operating system is not a Windows server. Add the following launch condition as shown below.
Keep other launch conditions to a minimum in order to keep the MSI as unrestricted as possible. If checks need to be done for dependencies or system requirements.
Cached Packages
Packages that require local caching, will all be cached to the following location:
Packaging Best Practices Design
<WINDIR>Downloaded Installations<MSIGUID>
