Bootstrapper Deployment

What is the Bootstrapper?

Any setup.exe or any other executable that installs updates and launches the MSI installer is a bootstrapper. The Acrobat-Reader bootstrapper is provided as part of the Reader bundle on the CD and the web download. It is also provided for some releases on the FTP download site. It provides a streamlined way to chain installs without the need for administrative install points. The bootstrapper provides the following benefits:

  • Detects whether the required Windows Installer (MSI) is available and installs it if it isn’t.

  • Detects whether the product is already installed and only proceeds if it does not exist on the target machine.

  • Provides binary installations where the entire installer is supplied and run by each machine.

  • Provides a simple way to chain updates in the required order by simply adding the msp to the installer folder and modifying Setup.ini to apply that patch.

  • It is not subject to the patch constraint that limits an AIP from installing a quarterly update over a out of cycle patch. Thus, installs can always have the latest update without starting over.

Tutorials

Usage across releases is relatively the same. For an example, see this video

Best practices

  • Back up your original download. Do not modify the original download.

  • Use the Customization Wizard to create an MST for customizations and Setup.ini file. Save the MST.

  • Check Setup.ini prior to running Setup.exe. Make additional modifications as needed.

  • Do not use the bootstrapper if you are already using administrative install points.

Bootstrapper usage

Common bootstrapper workflows can include any of the following:

  • Manually configuring Setup.ini and running and the bootstrapper.

  • Modifying the installer and/or installed product via Setup.ini or the command line.

  • Using the Customization Wizard to modify product features set by the UI, registry, and files.

Note

Using Setup.ini and batch files allows you to keep a record of modifications for future troubleshooting. Always archive your original download and modify a copy rather than the original.

Modifying the installer with the Customization Wizard

  1. Create a folder to store the original installation files and the MSP update files to apply. For pre 9.3.3 versions, download the needed base install and requisite patches from http://www.adobe.com/support/downloads/product.jsp?product=1&platform=Windows.

  2. Open the Customization Wizard.

  3. Modify the product install and other options.

  4. Generate a new Transform file (.mst).

  5. After the Wizard has created a new MST file and modified the Setup.ini file, open Setup.ini and verify it has all the options you need.

  6. Make any additional modifications to Setup.ini and/or to the command line in a batch file. Command line parameters can be sent to msiexec from the Setup.ini using /msi.

  7. Run setup.exe to start the installation.

Bootstrapper config: setup.ini

The bootstrapper uses Setup.ini as a configuration file. Administrators typically modify this file via the Customization Wizard, manually, or both as needed.

Version notes:

Setup.ini: Default for mui Acrobat

[Startup]
RequireOS=Windows XP
RequireMSI=3.1
RequireIE=7.0.0000.0
Require64BitVC10RT=1

[Product]
msi=AcroPro.msi
vcrtMsi=vc_red.msi
vcrtDir=VC10RT_x64
Languages=2052;1028;1029;1030;1043;1033;1035;1036;1031;1038;1040;1041;1042;1044;1045;1046;1049;1051;1060;1034;1053;1055;1058;1025;1037;6156
2052=Chinese Simplified
1028=Chinese Traditional
1029=Czech
1030=Danish
------------------ snip: continue lang list ------------------------
[Windows XP]
PlatformID=2
MajorVersion=5
MinorVersion=1
ServicePackMajor=3

[MSI Updater]
Path=WindowsInstaller-KB893803-v2-x86.exe
Bootstrapper configuration sections

Section

Parameter

Description

Startup

RequireMSI

3.1

RequireIE

The minimum supported version of Internet Explorer. Refer to the release notes.

RequireOS

A semicolon-separated list of operation systems. You need only specify the minimum required OS(s). Each OS name from the list must have corresponding INI section with OS specification. While there is no restriction on the string name, these names are used in any error messages. Therefore, real names are more user friendly.

Require64BitVC10RT

11.0 and later and Acrobat 64-bit machines only: Specifies whether to install the Visual C++ x64 2010 SP1 Runtime is required when the following functionality IS needed: 1) Acrobat PDF Creation add-on (PDFMaker plugin) for Microsoft Office 64-bit applications (viz. Word, Excel, PowerPoint & Outlook) and 2) sending emails or resolving addresses via 64-bit Microsoft Outlook. Values include:

  • 0: Don’t install.

  • 1: Install.

  • Null: Do not install.

  • Any other value: Invalid. Installer exits.

[OS name]

A list of required OS names which matches those in RequireOS. The key values are always numbers. The default is 0 if any key or value is missing except that there is no default value for Architecture. It is possible to add recognition of the other operating systems such as Server/Client/Workstation and Professional/Home/Web/Enterprise editions.

PlatformID

Identifies the OS.

MajorVersion

Identifies the OS.

MinorVersion

Identifies the OS.

The keys below identify the service pack. Use CSDVersion to identify any OS prior of NT4-service pack 6, and use ServicePackMajor-ServicePackMinor for OS NT4-service pack 6 and higher. CSDVersion and ServicePackMajor-ServicePackMinor are mutually exclusive.

CSDVersion

Use CSDVersion to identify any OS prior of NT4-Service Pack 6. CSDVersion and pair of ServicePackMajor-ServicePackMinor are mutually exclusive. If you specify CSDVersion, then ServicePackMajor-ServicePackMinor are ignored. Use ServicePackMajor-ServicePackMinor for OS NT4-Service Pack 6 and higher.

ServicePackMajor

Identifies the major service pack. See also CSDVersion.

ServicePackMinor

Identifies the minor service pack. See also CSDVersion.

Architecture

If specified, the value must match:

  • 0: PROCESSOR_ARCHITECTURE_INTEL

  • 1: PROCESSOR_ARCHITECTURE_MIPS

  • 2: PROCESSOR_ARCHITECTURE_ALPHA

  • 3: PROCESSOR_ARCHITECTURE_PPC

  • 4: PROCESSOR_ARCHITECTURE_SHX

  • 5: PROCESSOR_ARCHITECTURE_ARM

  • 6: PROCESSOR_ARCHITECTURE_IA64

  • 7: PROCESSOR_ARCHITECTURE_ALPHA64

  • 8: PROCESSOR_ARCHITECTURE_MSIL

  • 9: PROCESSOR_ARCHITECTURE_AMD64

  • 10: PROCESSOR_ARCHITECTURE_IA32_ON_WIN64

[Product]

Product Section

msi

Name of the msi file to sub-launch.

CmdLine

Any msiexec command. Note if [Startup]-CmdLine contains /msi, [Product]-CmdLine is ignored.

Languages

For multilingual installers only, a semicolon-separated list of languages in LANG_ID format.

PATCH

Full or relative path to the msp file to apply with MSI sub-launch. Do not use quotes.

LANG_ID

Language Description key, one for each language.

[MSI Updater]

The bootstrapper can download and install the required MSI version if needed. Adobe provides the default data. See RequireMSI.

Path

The absolute or relative path to the required MSI updater file starting with starting from http:// or ftp://. When a fully-qualified URL path os specified, the bootstrapper downloads the new Microsoft Installer first.

Timeout

The time in minutes after which if downloading is not complete it will be aborted. The default is 15 minutes.

Command line switches

You can pass MSI switches to Setup.exe to control its operation. The general form of the command is:

<path to>\Setup.exe [<switches>...]

Note the following:

  • All parameters are case insensitive.

  • There is no parameter merging; if any parameter is passed as a command line argument then any parameters in the INI file are ignored.

  • Refer to the list of supported switches

Language based behaviors

During installation, both the bootstrapper and the Select Language dialog behavior is determined by two items: the specified Lang_ID key in the setup.ini file and the existence of the language package in the file to be installed. There are three possible scenarios:

  • When the OS user default locale matches one of the package languages:

    • The language dialog is invoked with strings in the OS locale language.

    • Language descriptions in the drop-down list are populated with OS locale strings from system registry. If this fails, then the drop-down list populates with the string from the INI Language Description keys.

    • The OS locale Language is pre-selected in the drop-down list.

  • When the OS user default locale is one of the 15 supported languages but doesn’t match any of the package languages:

    • The dialog labels appear in OS locale language.

    • Language descriptions in the drop-down list are populated with OS locale strings from the system registry. If this fails, then the drop-down list populates with the string from the INI Language Description keys.

    • The Package Default Language value of ‘ProductLanguage’ from the installer Property table is pre-selected in the drop-down list.

  • When the OS user default locale doesn’t match any of the 15 supported languages:
    • The dialog labels appear in the Package Default Language locale.

    • The drop-down list populates with string from INI Language Description Keys.

    • The Package Default Language is pre-selected in the drop-down list.

Setup.ini examples

To install the base installer with the latest update:

  1. Create a folder to store the original installation files and the MSP update files to apply.

  2. Download the needed base install and requisite patches.

  3. Add the following line to setup.ini file, under the [Product] section: [Product]PATCH=AcrobatUpd(version).msp

Note

It is not necessary to use path statements or quotes.

  1. Make any additional modifications to Setup.ini and/or to the command line in a batch file. Command line parameters can be sent to msiexec from the Setup.ini using /msi.

  2. Run setup.exe to start the installation.

Except for the PATCH= line and the addition of the ADDLOCAL=ALL property, setup.ini file changes are written to the file by the Adobe Customization Wizard.

[Startup]
RequireMSI=3.1

[Product]
msi=AcroRead.msi
PATCH=AdbeRdrUpd(version).msp

[MSI Updater]
Path=(installer path.exe)