Tuesday, January 10, 2006

Custom Action Type 6

This custom action is written in VBScript.

Source
The script is generated from a temporary binary stream. The Source field of the CustomAction table contains a key to the Binary table. The Data column in the Binary table contains the stream data. A separate stream is allocated for each row.

Type Value
Include the following value in the Type column of the CustomAction table to specify the basic numeric type of a 32-bit custom action.
Constants
msidbCustomActionTypeVBScript + msidbCustomActionTypeBinaryData
Hexadecimal Value
0x006
Decimal Value
6

Target
The Target field of the CustomAction table contains an optional script function. Processing first sends the script for parsing and then calls the optional script function.

PROPERY : Commonly Used...

$ ADDDEFAULT
--> The value of the ADDDEFAULT property is a list of features delimited by commas that are to be installed in their default configuration.
--> A feature listed in the ADDDEFAULT property is installed in the same installation state as if the user had requested an installation-on-demand of the feature.
-->To install all features in their default configurations, use ADDDEFAULT=ALL on the command line.

$ ADDLOCAL
--> The value of the ADDLOCAL property is a list of features delimited by commas that are to be installed locally.
--> Do not enter ADDLOCAL=ALL into the Property table because this generates an locally installed package that cannot be correctly removed.
--> To install all features locally, use ADDLOCAL=ALL on the command line.

$ ADDSOURCE
--> The value of the ADDSOURCE property is a list of features delimited by commas that are to be installed to run from source.
--> To install all features as run from source, use ADDSOURCE=ALL on the command line.

$ ALLUSERS
--> The ALLUSERS property determines where the configuration information of the installed application is stored.

ALLUSERS is not set (ALLUSERS="")
User access privileges: Per-user installation using folders in user's personal profile.
Administrator access privileges: Per-user installation using folders in user's personal profile.

ALLUSERS = 1
User access privileges: Not valid; returns an error stating the user does not have enough access privileges to install application.
Administrator access privileges: Per-machine installation using folders in "All Users" profile.

ALLUSERS = 2
User access privileges: Per-user installation using folders in user's personal profile.
Administrator access privileges: Per-machine installation using folders in "All Users" profile.

--> If ALLUSERS is not set, the installer does a per-user installation.

-->If ALLUSERS is set to 2, the installer first attempts a per-machine installation. In this case, the per-machine installation succeeds only if the user has administrative access privileges on the computer, otherwise the installer does a per-user installation

$ ARPCOMMENTS
--> The ARPCOMMENTS property provides the Add or Remove Programs Control Panel Comments that are written under the Uninstall Registry Key. This property can be set by the command line or a transform.

$ ARPINSTALLLOCATION
--> The ARPINSTALLLOCATION property is the full path to the application's primary folder.

$ ARPNOMODIFY
--> Disables the Change button for the product in Add or Remove Programs in Control Panel
--> If the ARPNOMODIFY property is set, the RegisterProduct action writes the value "NoModify" under the registry key:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{product key}

$ ARPNOREMOVE
--> Disables the Remove button for the product from the Add or Remove Programs in Control Panel.
--> If the ARPNOREMOVE property is set, the RegisterProduct action writes the value "NoRemove" under the registry key:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{product key}
-->Setting the ARPNOREMOVE property prevents the UninstallString value from being written under this key.

$ ARPNOREPAIR
--> Set the ARPNOREPAIR property to disable the Repair button in the Programs Wizard

$ ARPSYSTEMCOMPONENT
--> Setting the ARPSYSTEMCOMPONENT property to 1 using the command line or a transform prevents the application from being displayed in the Add or Remove Programs list of Control Panel.

Thursday, January 05, 2006

MSI fails to install Printer....

Information from Application CutePDF Writer 2.x

Files required:
• C:\Windows\System32\cpwsave.exe
• C:\Windows\System32\cpwmon2k.dll
• C:\Program Files\Acro Software\PDFWrite.rsp
• C:\Program Files\Acro Software\Readme.htm
• C:\Windows\System32\Spool\drivers\w32x86\cutepdfw.ppd
• C:\Windows\System32\Spool\drivers\w32x86\ps5ui.dll
• C:\Windows\System32\Spool\drivers\w32x86\pscript.hlp
• C:\Windows\System32\Spool\drivers\w32x86\pscript.ntf
• C:\Windows\System32\Spool\drivers\w32x86\pscript5.dll
• C:\Windows\System32\Spool\drivers\w32x86\3\cutepdfw.ppd
• C:\Windows\System32\Spool\drivers\w32x86\3\cutepdfw.bpd

Registry Keys and Subkeys/Values:
• HKLM\Software\Microsoft\Windows NT\CurrentVersion\Print\Printers\CUtePDF Writer
• HKLM\System\CurrentControlSet\Control\Print\Environments\Windows NY x86\Drivers\Version-3\CutePDF Writer
• HKLM\System\CurrentControlSet\Control\Print\Monitors\CUtePDF Writer Monitor
• HKLM\System\CurrentCOntrolSet\Control\Print\Printers\CutePDF Writer

Replace any machine name with [ComputerName] property on “DsSpooler” subkeys

Add service “Spooler” to Service Control Table so that spooler service is stopped prior to install and restarted after the install

In some applications you may need to restart the machine