Archive for the 'Application Repackaging' Category

Packaging IE9

Internet Explorer Administration Kit (IEAK) 9 simplifies the creation, deployment, and management of customized Windows Internet Explorer 9 packages. IEAK 9 can be used to configure the out-of-box Internet Explorer 9 experience for your users, and to manage user settings after you deploy Internet Explorer 9.


Ref #

Steps :


1. Install IE 9 on the respective build .

2.Install IEAK .choose the license type’ Internal Distribution via a corporate Intranet’.

3.Run internet Explorer customization wizard 9

4.Select the required options and add\remove features etc..from the wizard.

5.In Media selection, Select ‘File’

5.The output will be an MSI file which will be getting stored in the destination location you have chosen in the wizard.


During Uninstall if you want to retain the previous version use the following command;

FORFILES /P %WINDIR%\SERVICING\PACKAGES  /M Microsoft-InternetExplorer-*9.*.mum /c “cmd /c echo uninstalling package @fname && start /w pkgmgr /up :@fname /norestart”

Internet Explorer Administration Kit (IEAK)


The Internet Explorer Administration Kit (IEAK) simplifies the creation, deployment and management of customized Internet Explorer packages. The IEAK can be used to configure the out-of-box Internet Explorer experience or to manage user settings after Internet Explorer deployment.

Read more about this in the below link.

Adobe Creative Suite Design Premium CS5

While packaging Adobe Creative Suite Design Premium CS5, you might have noticed that the below “Update available” prompt will be appearing automatically after install of the application. This can be disabled via the below mentioned method.

To disable the below auto prompt from Adobe help.exe


1.check the read-Only check box of state.xml file in %appdata%\chc.4875E02D9FB21EE389F73B8D1702B320485DF8CE.1\Local Store\#ApplicationUpdater


2.Click ok.

To implement this via package, copy\over write this file to the above location via active setup.

Versions of Java which support Windows 7

Here are the versions of Java which support Windows 7:

 1.4: >= 1.4.2_23

 1.5: >= 1.5.0_21

 1.6: >= 1.6.0_14

HKEY_USERS (Identifying the SID of current logged in user)

During the troubleshooting of an application to deal with HKCU entries where the current user doesn’t have access to registries, checking the SID of the current user can help you identify the particular hive of the logged in user.

use the command whoami /user

Open the command prompt and enter the above command (In user mode) .The command will display the SID of the current logged in user.

open the registry with admin user and check the hive under HKEY_Users with the displayed SID.Delete or add the registry to  troubleshoot the application.

Setting permission for empty folder without empty component

Step 1:Create the empty folder in the required location using “New folder “ option.


For eg: I have used ‘BalsaTest’ folder in [ProgramFileFolder]


An Empty component will be getting created for this folder.

Note : Removing this empty component “AllOtherFiles” while giving permission via lockpermission table is the aim of this exercise.


Step 2: Set the required permission for the folder as below


Folder will appear with Lock icon after giving the permission


Lock Permission table will appear as below


Directory table entry as below


Createfolder table entry will be as below


We need to apply the tweak in createfolder.

Step 3:

Change the component to any other existing component in the package which is not empty.(Best practice is to give on the mainexe’s component)


Nothing to worry about the path of the mainexe component and the empty folder, Even the empty folder is getting created in different location .

The Parent folder mentioned in directory table will help the folder to get install on the required location.

Step 4: Delete the ‘AllOtherFiles’ componet from feature



Done!.Compile and install the MSI. Permission will be applied as below.


Set user interface level .

Here I share the various way we can set the user Interface during the MSI install.(Especially for Newbies)

q , qn – No UI

qb – Basic UI .

Use qb! to hide the Cancel button.

qr – Reduced UI with no modal dialog box displayed at the end of the installation.

qf – Full UI and any authored FatalError , UserExit , or Exit modal dialog boxes at the end.

qn+ – No UI except for a modal dialog box displayed at the end.

qb+ – Basic UI with a modal dialog box displayed at the end. The modal box is not displayed if the user cancels the installation.

Use qb+! or qb!+ to hide the Cancel button.

qb- – Basic UI with no modal dialog boxes.

Please note that /qb+- is not a supported UI level.

Use qb-! or qb!- to hide the Cancel button

What is BDE?

BDE is the Borland Database Engine – an outdated technology,and it has been used by Borland products like Delphi, C++ etc for years. It still common to repackage applications which use it. This is particularly true where and organization may have its own in-house developers who over the years would have produced quite a large number of these applications.
BDE is very flexible in that it can it can handle a large variety of Database connects – like oracle, MSSql, FoxPro, access, paradox, dbase and excel. The BDE provides a common interface layer to these databases which makes it much easier to develop such database applications.

Suppress Auto reboot with .iss file

How to suppress the auto reboot with .iss file ?

.iss file will have the information about what ever the actions your installation does during the recording process(creation of .iss file) of that particular application.

Check in .iss file is there an item called BootOption.
Set the value for this to 0 (BootOption=0)

If the system goes for reboot automatically, then the value of BootOption in the .ISS file will be 3. Inorder to suppress this we need to put the value of BootOption as 0.

Disable Auto update in ‘Adobe Flash Player’

I believe there won’t be any Re-packager who never packaged Adobe Flash Player application in their career.!!!

The below tip help you to disable auto update in Adobe Flash Player.

  1. Flash Player by default will check for updates and automatically prompt user for update. The steps to disable the auto-update notification can be found in the article (
    1. Create a file named “mms.cfg” in the following location C:\WINDOWS\System32\Macromed\Flash. (Needs to include in .mst)
    2. The mms.cfg file is a UTF-8 text file. The format of the mms.cfg file is a series of name=value pairs separated by carriage returns. If a parameter is not set in the file, Flash Player assumes the default value. When set, values in this file override the user-configured settings stored in a per-user local shared object

Note: Settings in mms.cfg override the user’s settings and cannot be changed by the user through Settings Manager.

The following table describes settings in the mms.cfg file:






0 allows auto-update based on user settings.
1 disables auto-update.


<0 (or absent)

Takes a numeric value.

<0 (or absent) uses value from player settings.
0 checks for updates every time the player launches.
>0 specifies the minimum number of days between check for updates.

2. Create the “mms.cfg” file using notepad:

    1. Key in “AutoUpdateDisable=1”


    1. Save the mms.cfg file with UTF-8 encoding


Picture taker can be used to create MSI?

Yes, ‘Picture taker enterprise edition’ supports to create MSIs.

After taking the first snapshot,install the source and then take the second snapshot.

Save the .pwc file in the required location.

Next click on the icon (MSI Icon ) in the tool bar.It will prompt you to select the .pwc file which was created on the snapshot phase.

Select the .pwc file  and click on “Open” .Next enter the required  MSI name and manufacture name which will be prompted in the next step and click on Save.

MSI will be ready.!!!

Automate Application Re packaging and Conversion to Virtual Formats with Adminstudio

Here is a link on  Webinar on Automate Application Repackaging and Conversion to Virtual Formats with AdminStudio.

Visual Studio 2008- Silent Install

Microsoft Visual studio 2008   can be silently insatll using switches. Packager needs to use the setup.exe which is in ‘setup’ folder (Not the setup.exe in root directory)

Install :  “setup.exe /q /norestart /full” 

 Uninstall:  “Setup.exe /q /remove /norestart /full”

Q&A : Application Repackaging-Part 3

1.How do I make sure a complete uninstallation using a command
Use the property REMOVE
Eg: msiexec /x package.msi REMOVE =”ALL” /qb
2. How to set a property to an environment variable?
Use custom action of type 51 PropertyName and target [%EnvVarName] Eg: APP_PATH =[%PATH]
3.How to create an Internet (URL) Shortcut?
1.Create a URL file on your development computer and add this to a component.
2.Create a shortcut to point to this file.
The content of the .url can be like this:
4. What are the limits for a large MSI package?
Reference: Windows Installer Team blog
There are a couple of limits that you may hit when authoring a large, complex MSI package.
Total number of files
If your Windows Installer package contains more than 32767 files, you must change the schema of the database to increase the limit of the following columns: the Sequence column of the File table, the LastSequence column of the Media table, and the Sequence column of the Patch table. Note that transforms and patches cannot be created between two packages with different column types.
Total number of components
The maximum number of rows for the Component table is 65536.
This limit was discovered by Danish Waheed and posted on the WiX users mailing list. It has been confirmed by a Microsoft employee but hasn’t been officially documented yet.
Number of components per feature
There is a maximum limit of 1600 components per feature using Windows NT/Windows 2000 and a maximum limit of 800 components per feature using Windows 95 and Windows 98. There will be a ICE47 validation warning if your package is above this limit.
Depth of Feature tree
There is a maximum limit of 16 for the depth of the feature tree. If you exeed this limit you get a runtime error message “2701. The Component table exceeds the acceptable tree depth of 16 levels.” which is a bit misleading because the limit actually applyies to the Feature tree, not the Component tree (in my understanding there is no component tree in MSI). In a test with a feature tree 20 levels deep msiexec.exe even crashed instead of displaying an error message.
This limit has been reported by Danish Waheed on the WiX users mailing list. It doesn’t seem to be officially documented.
Number of disks or CAB files
For each disk or CAB file one row must be added to the Media table. Windows Installer packages are limited to a maximum of 80 Media table entries when installed using Windows Installer prior to version 2.0. The restriction of 80 Media table entries was removed with Windows Installer version 2.0.
Limits of the CAB file format
The only compressed file type supported natively by Windows Installer is the Cabinet (CAB) format. The following limits apply to this file format.
No one file in a CAB can exceed 2GB
Maximum size of all files in one folder (compressed) 2GB
Maximum size of a CAB file (compressed) 2GB
Maximum number of files in a single CAB 64K
You can avoid these limits by splitting your setup into multiple CABs, possibly up to 64K * 2GB, or by placing your application files on the distribution disk uncompressed.
Additional Limitations on Windows 95/98/Me
Windows Installer stores a lot of information about installed features and components in the registry. Because the size of a registry key is limited on Windows 9X, the following approximate limits apply:
Registry values are limited to 16382 on Windows 98 and Windows Me, and limited to 16371 on Windows 95. This effectively limits the number of components per feature to 817. The limit varies depending upon any additional space needed to accommodate optional parent features, which should placed in the same value.
The total size of a registry key and all its values is limited to 64 KB on Windows 95 only. This can limit the maximum total number of features and components in a product.
Windows Installer version 1.2 saves in-progress information as a registry value. This can limit the maximum number of features on Windows 95, Windows 98, and Windows Me. This limitation no longer exists with Windows Installer version 2.0 or later.
5.New and improved features in Windows Installer 4.5
* Multiple package transaction
* Embedded UI handler
* Embedded chainer
* Update supersedence resiliency
* Custom action execution on update uninstall

AutoIt v3

AutoIt continues to be FREE !!

AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!

AutoIt was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

Continue reading ‘AutoIt v3′

‘A’ to ‘W’ of Repackaging


This Article is about some of the generic terms the packagers will use in their day to day work.Hope this will help more for the newbies in packaging to understand more about these terms.


The process of verifying whether the software is necessary and achieving a plan of deployment.

Application Source

The unedited and unpackaged data for applications—what the packaging process starts with.

Assigned Applications

An application that is available for users but not installed at user sign on. It is installed when a user clicks the application icon.

Baseline Test Computer

A test computer that is built on a clean computer and has had service packs and any required patches applied and user accounts, Group Policies, and any other existing applications installed that you are likely to see in the end-user environment.

Change Management

A process to prevent conflicts in deployments.

Change Management Coordinator

A central contact that provides coordination in the change management process and ensures that the processes are followed.

Continue reading ‘‘A’ to ‘W’ of Repackaging’

Q&A : Response Files

        The setup.exe files generated with InstallShield support the creation and use of Response file\Answer files that can be used for silent Install\Uninstall of applications. Here I’m sharing with you some of the information about this method.

What is a Response file?

A response file is a plain text file consisting of sections containing data entries.A response file contains information similar to what an end user would enter as responses to dialog boxes when running a normal setup. InstallShield Silently reads the necessary input from the response file at run time. The format of response files resembles that of an .ini file, but response files have .iss extensions.  The best way to create an InstallShield Silent response file is to run the setup and have InstallShield automatically record and create the response file. If necessary, the response file can be manually edited after it is created.


All passwords are saved in human readable form in the recorded silent setup file.

Continue reading ‘Q&A : Response Files’

Q&A : Application Repackaging-Part 2


This is the continuation of the article Application Repackaging part 1.

Here with 10 Questions & Answers ,I’m describing some of the basic things we need to take care while we approach to repackage an application.

 1.How do you Customize the vendor MSI?

 Vendor MSI’s should not be re-packaged or edited. Create a transform file to customize the vendor MSI. 

  • Some vendors supply utilities to customize their MSI behavior. Where this is the case, such utilities should be first considered as the appropriate method of customizing the MSI.  For example, use Microsoft’s Custom Installation Wizard  to customize the Office XP suite.  

2.When will you create a new MSI wrapper/ Wrapper Script?

This technique can be used in scenarios in which the installation program is not in MSI format and a setup capture is not appropriate.

Example:  Service packs and security patches

Continue reading ‘Q&A : Application Repackaging-Part 2′

Q&A : Application Repackaging-Part 1


My intention by publishing this post is to help the newbies to understand the basics about packaging and repackaging technologies.I hope it will be easy for you to  pickup the technology, if I describe it in a Q&A form.Kindly go through the questions and answers below.

Welcome aboard!!

1.What is Application Packaging?

Simply Application packaging means,the process of Creation of an Installation Program for a Software. Or we can say it as creation of a setup file. Setup.exe is an installation file, a program that puts all of the files and registry keys in the right places so that everything works correctly.

  2.What is Application Repackaging?

The process of creating a customized installation using an already packaged installation is termed as Re-packaging.

The setup routine can sometimes be very complex and open to user error especially when thousands of repeat installations are required in a corporate environment. In such environments reliability and repeatability are crucial.

Re-packaging is designed to support company standards and distribution methods. It supports very rapid and accurate way to do large scale deployments.

Continue reading ‘Q&A : Application Repackaging-Part 1′


Get every new post delivered to your Inbox.

Join 95 other followers