Here are the steps I followed to create my Adobe AIR 3.1.0.4880 package.
Begin by downloading the installer from the Adobe web site. You'll need to apply for a redistribution license to receive permission to download this file.
The MSI installer can be extracted with 7-Zip.
Open the "setup.msi" file with Orca.
It is very poor practice to modify the original MSI file so create a transform or MST file. Transform - New Transform.
If you try running the MSI installer, as is, you should receive the following error:
"Could not access network location (computed)."
To fix this, select the "Property" table and change the value of the "SHAREDADDINFOLDER" to "c:\".
To test this, select Transform - Generate Transform, navigate to your working directory and provide a file name for the MST file. From a command line enter:
msiexec /i setup.msi TRANSFORMS=setup.mst
Then to uninstall:
msiexec /x setup.msi
Next, we want auto-updates disabled. This is accomplished by creating a REG_DWORD called 'UpdateDisabled' in 'HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\AIR', and setting the value to '1'.
Start by creating the Feature. Select the Feature table and add a row:
Feature: DisableAutoUpdates
Title: DisableAutoUpdates
Description: Prevent automatic installation of updates when an AIR app installation requires a newer version or when the background update process discovers a newer version.
Display: (Find the highest value already in the table and add 1)
Level: 1
Attribute: 0
Next create the Component. Select the Component table and add a row:
Component: UpdateDisabled
ComponentID: (Use a GUID generator. Be sure to include curly braces and everything is uppercase)
Directory_: TARGETDIR
Attribute: 4 (Registry)
KeyPath: UpdateDisabled
Next populate the FeatureComponents table. Select the FeatureComponents table and add a row:
Feature_: DisableAutoUpdates
Component_: UpdateDisabled
Finally, add the registry setting. Select the Registry table and add a row:
Registry: UpdateDisabled
Root: 2 (HKLM)
Key: SOFTWARE\Policies\Adobe\AIR
Name: UpdateDisabled
Value: #1
Component_: UpdateDisabled
Lastly, we want to pre-accept the EULA. To prevent the EULA from being displayed the first time an Adobe AIR application is run, it is necessary to create a text file called 'eulaAccepted' in %ALLUSERSPROFILE%\Application Data\Adobe\AIR and set the contents of the file to be '3'.
Use a text editor to create the 'eulaAccepted' file (no extension) in the same directory as setup.msi, with a single character '3' for its contents.
Return to Orca, create the Feature. Select the Feature table and add a row:
Feature: AcceptEula
Title: Accept EULA
Description: Accept End User License Agreement
Display: (Find the highest value already in the table and add 1)
Level: 1
Attribute: 0
Next create the Component. Select the Component table and add a row:
Component: AcceptEula
ComponentID: (Use a GUID generator. Be sure to include curly braces and everything is uppercase)
Directory_: CADFAIR
Attribute: 0 (Local Only)
KeyPath: eulaAccepted
Next populate the FeatureComponents table. Select the FeatureComponents table and add a row:
Feature_: AcceptEula
Component_: AcceptEula
Now we'll create the File table entry. Select the File table and add a row:
File: eulaAccepted
Component_: AcceptEula
FileName: eulaac~1 | eulaAccepted (8.3 name|long name)
Filesize: 1
Attribute: 512 (Vital)
Sequence: (Find the highest value already in the table and add 1)
Next we'll create the Directory entries. Select the Directory table and add the following three rows:
Directory: CommonAppDataFolder
Directory_Parent: TARGETDIR
DefaultDir: Common~1 | CommonAppData:. (8.3 name | DestinationPath:SourcePath)
Directory: CADFAdobe
Directory_Parent: CommonAppDataFolder
DefaultDir: Adobe:. (DestinationPath:SourcePath)
Directory: CADFAIR
Directory_Parent: CADFAdobe
DefaultDir: AIR:. (DestinationPath:SourcePath)
This was the most difficult part to get right and is a good example of how to get files somewhere other than the TARGETDIR path. The DestinationPath:SourcePath syntax is key.
Finally we need to increment the Media table. Select the Media table and increment the value in LastSequence.
That's it. Save your MST and test as before after the MSI fix above. I'm distributing this as an SCCM package so there's no need to add the eulaAccepted text file to the MSI or a new CAB file. This may not be acceptable in other deployment scenarios. Tools like InstEd IT! Make it very easy to add files to the installer, creates checksums and has a handy, built in, GUID generator.
The following command line can be used (the variable %~dp0 used for souce directory):
"%~dp0AdobeAIRInstaller.exe" -silent -eulaAccepted
The following command line can be used to disable automatic updates:
reg add "HKLM\SOFTWARE\Policies\Adobe\AIR" /v UpdateDisabled /t REG_DWORD /d 1 /f
Generally, the AIR Installer presents its own user interface while installing the runtime and the AIR application. The silent installation feature lets you install an application without presenting or interacting with the AIR Installer interface.
You can use silent mode to install Adobe AIR using an enterprise deployment tool (such as Kace, Microsoft SMS, IBM Tivoli, or any deployment tool that allows silent installations that use a bootstrapper).
To run the Adobe AIR installer silently, start the Adobe AIR installer with the following command-line options:
-silent {-eulaAccepted -pingbackAllowed ( -location <loc> ) -desktopShortcut -programMenu} path
silent—The-silentoption tells the AIR installer to run in silent mode.
eulaAccepted—With the optional-eulaAcceptedoption specified, if the AIR application installer installs Adobe AIR, it records acceptance of the Adobe AIR end-user license agreement (EULA). The Adobe AIR installer records this acceptance for all users of the target computer.
If you do notinclude the-eulaAcceptedoption and Adobe AIR is installed during a silent installation, Adobe AIR will later present the Adobe AIR end-user license agreement to each user of the machine. Users see the end-user license agreement (with the option to accept it) upon first running an AIR application.
If used, specify the-eulaAcceptedoption immediately after the ‑silentoption.
pingbackAllowed — Allows the installer to check for updates to the AIR runtime and report a successful install to Adobe over the Internet. No identifying information is transmitted.
location—The optional-locationoption provides the location (an absolute file system path) to install the AIR application. The default location is the standard application installation location.
desktopShortcut—The optional-desktopShortcutoption causes the installer to install a desktop shortcut for the installed AIR application. If you do not specify this option, no desktop shortcut is installed.
programMenu—The optional-programMenuoption causes the installer to install a program menu shortcut for the installed application (on Windows). If you do not specify this option, no program menu shortcut is installed.
path—Thepathoption specifies the path to the AIR file to install.
The AIR application installer installs the correct version of Adobe AIR on the target computer, as required by the AIR application to be installed. For example, if the AIR application to be installed requires the AIR 1.1 runtime, and the end user’s computer has only AIR 1.0 installed (or no version of AIR installed), the installation process installs the AIR 1.1 runtime along with the AIR application. The version of the AIR application installer must be compatible with the version required by the AIR application.
You cannot use the silent installer option to update an installed AIR application. This is because the AIR installer cannot determine whether the version to be installed is newer than the installed version, and it would pose a security risk to downgrade the application.
To install or update the runtime only, use the-silentoption without specifying apathor any other options.
"adobeairinstaller.exe" -silent
You can silently uninstall an AIR application using the ARH utility.
While ARH is the recommended method, you can also use the following methods:
On Mac OS, userm -rfto remove the AIR application installation directory.
On Windows:
Use the OSID generator to look up the upgrade GUID for the application (see Using the OSID Generator application).
Pass the upgrade GUID as thelpUpgradeCodeparameter to theMsiEnumRelatedProducts()function. The function stores the product GUID in the buffer passed as thelpProductBufparameter to the function.
Pass the product GUID tomsiexec /x(or an equivalent).
I just wanted to update this forum,
Next create the Component. Select the Component table and add a row:
Component: AcceptEula
ComponentID: (Use a GUID generator. Be sure to include curly braces and everything is uppercase)
Directory_: CADFAIR
Attribute: 0 (Local Only)
KeyPath: eulaAccepted
If you want the EULA to be accepted silently be sure to change the Attribute here to 3 when creating the mst.
View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.
Or is it only possible by using the exe installer ? - Wandelaar 11 years ago
The HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\AIR needs to be a *DWORD*. The procedure here will create a *STRING*.
Looking at http://msdn.microsoft.com/en-us/library/windows/desktop/aa371168(v=vs.85).aspx, the last step to create the entry should be
Registry: UpdateDisabled
Root: 2 (HKLM)
Key: SOFTWARE\Policies\Adobe\AIR
Name: UpdateDisabled
Value: #1
Component_: UpdateDisabled
(I think) where before it was Value : 1. # denoting it is a DWORD. No prefix assumes a string by default. Thoughts? - neilgascoigne 11 years ago