SYMPTOMS
When you use the Microsoft Visio 2000 installer package (Vis2000.msi) from the Select CDs, you may not be able to perform an unattended installation of Microsoft Visio 2000 SR-1a, Professional edition.
The installation does not succeed, and you may receive an error message that is similar to the following:
Error 1406: Could not write value Installed to key
RESOLUTION
To work around this issue and finish the installation process, click
Ignore each time that you receive the error message.
NOTE: If you use the
/qb- switch or the
/qb+ switch, you receive the error message, and you can click
Ignore on the error message. If you click
Ignore, the installation may succeed. However, if you use the
/qn switch, you
do not receive an error message. You cannot click
Ignore in that case; therefore, the installation does not succeed.
To resolve this issue, you can create a transform that will be applied to the Vis2000.msi installer database. By applying a transform, you can continue to use the Microsoft Visio 2000 installer package (Vis2000.msi) from the Select CD without causing potential support problems for future patches and service releases. In the transform-modified database, you can create a Custom Action of type 51 to set the
DPID property to text formatted "No Value", which is acceptable to the Windows 95 registry.
The Windows Installer can then call the Custom Action conditionally from the InstallExecuteSequence table. You have to make sure that the Custom Action is the last action to modify the
DPID property, and so you have to create the new install sequence with a sequence number that immediately precedes the one for the installation action. You have to do this because the Microsoft Visio 2000 installer package from the Select CD had to sequence the standard action before any changes were made to the computer; therefore, all properties must have been set before then. This procedure sets the condition column so that the Custom Action is called only if the operating system is earlier than Microsoft Windows 98. By doing this, the same transform can be used throughout the organization without an impact on any computer that uses a later version of Windows.
For the following resolution, you have to install the Microsoft Windows Installer Software Development Kit (SDK). The Windows Installer SDK comes with a utility named Orca that you can use to create a "destination .msi file". It also comes with a utility named MSITran.exe that you can use to generate the transform.
You can download a copy of the Microsoft Windows Installer SDK at no charge. To do this, visit the following Microsoft Web site:
To create the transform to resolve this issue, follow these steps:
- Install Orca.msi from the MsiIntel.SDK\Tools folder of the Microsoft Windows Installer SDK.
- Start Orca, and then open the Vis2000.msi database.
- Save the database to a new database named "VisDestination.msi". (On the File menu, click Save As.)
- In the left panel, select the table named "CustomAction".
- Press CTRL+R to insert a new row into the table. (You can also click Add Row on the Tables menu to add a row.)
- Type the following values in the Add Row dialog box, and then click OK.
Action: ClearDPID
Type: 51
Source: DPID
Target: No value - leave this field empty.
- In the left panel, select the table named "InstallExecuteSequence".
- Press CTRL+R to insert a new row into the table.
- Type the following values in the Add Row dialog box, and then click OK.
Action: ClearDPID
Condition: Version9X<410
Sequence: 1499
- On the File menu, click Save to save the file, and then quit Orca.
- Click Start, and then click Run.
- In the Open box, type the following, and then press ENTER:
MSITRAN -g {basedb} {refdb} {transform_file_name}
where:
- MSITRAN is the path to the Msitran.exe file,
- basedb is the path to the original Vis2000.msi database,
- refdb is the path to the destination Vis2000.msi database,
- and transform_file_name is the transform file name.
For example:
- if MSITRAN.EXE was installed to "C:\Program Files\MsiIntel.SDK\Tools\MsiTran.exe",
- and the original vis2000.msi database is located on \\ComputerName\ShareName\Install\Unattended,
- and the Destination vis2000.msi database created is on c:\
type the following:
"C:\Program Files\MsiIntel.SDK\Tools\MsiTran.exe" -g \\ComputerName\share name\Install\Unattended\vis2000.msi c:\visDestination.msi
\\ComputerName\share name\Install\Unattended\vis2kPro.mst
The previous example creates a new transform that is named "Vis2kPro.mst" in the same folder as the Vis2000.msi database (\\ComputerName\ShareName\Install\Unattended).
To use the transform, use the following syntax :
msiexec /i \\ComputerName\ShareName\Install\Unattended\vis2000.msi TRANSFORMS=vis2kPro.mst
NOTE: Remember to type quotation marks around long file names that contain spaces.
You can add any of the following switches to the end of the previous line:
- /l*v c:\VisioTransform.log to capture a verbose log of the installation.
- /qb+ to only display the status bar and the final dialog box, which indicates whether the installation is successful or not.
- /qb- to display the status bar but only notify the user if installation does not succeed.
Deployment Example
The following is a deployment example that uses the transform that was created in steps 1 through 12. This example applies to the deployment of Visio 2000 to workstations that already have Microsoft Office 2000 SR-1 and Windows Installer 1.1 installed, and to systems where Mssup.exe has already been applied. It also assumes that the Install folder of the Select CD for Visio Professional SR-1a has already been copied onto a network share \\
ComputerName\
ShareName.
- Click Start, and then click Run.
- In the Open box, type the following, and then press ENTER:
msiexec /i \\ComputerName\ShareName\Install\bin\sp\SPCore\spcore.msi /qb-
- Restart the computer if you are prompted.
- Click Start, and then click Run.
- In the Open box, type the following, and then press ENTER:
msiexec /i \\ComputerName\ShareName\Install\Unattended\vis2000.msi TRANSFORMS=vis2kPro.mst /l*v c:\visInst.log /qb+
- You are notified of whether the installation succeeded or not. To prevent the user from being notified of the successful installation, use the /qb- switch instead.