Microsoft KB Archive/233337

From BetaArchive Wiki
Knowledge Base


INF: How to Determine When an Unattended SQL Server 7.0/MSDE 1.0 Setup is Complete

Article ID: 233337

Article Last Modified on 3/31/2006



APPLIES TO

  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft Data Engine 1.0



This article was previously published under Q233337

SUMMARY

You can automate the installation of SQL Server or Microsoft Data Engine (MSDE) by using an .iss file that records the responses and selections that would be provided by a user during an interactive install. An unattended installation of SQL Server 7.0 or MSDE 1.0 does not provide any graphical feedback of installation progress or of success or failure. If you want to determine when an unattended setup has completed or get additional information about the cause of a failed install you can use the files Sqlstp.log and Setup.log, which are automatically created during the setup.

This article applies only to SQL Server 7.0/MSDE 1.0. If you need to detect when the installation of SQL Server 2000 Desktop Engine/MSDE 2.0 completes, see the following article in the Microsoft Knowledge Base:

315463 HOW TO: Implement a SQL Server 2000 Desktop Engine Callback Function and Example


MORE INFORMATION

Sqlstp.log is a detailed log file that the InstallShield setup program creates in the Windows root directory and updates throughout the installation to detail the setup progress. When an MSDE/SQL Server setup has completed successfully, a line like the following will be seen at the end of Sqlstp.log:

  18:04:48 Installation Succeeded
                

For an explanation of the contents of this file, see the SQL Server 7.0 Books Online article "Contents of the Sqlstp.log file". Sqlstp.log is very verbose and is a good place to start when troubleshooting installation issues. However, if you need to programmatically determine whether setup succeeded, you should use Setup.log, not Sqlstp.log. A sample Setup.log file would be:

  [InstallShield Silent]
  Version=v5.00.000
  File=Log File
  [Application]
  Name=MSDE
  Version=7.00.000
  Company=Microsoft
  [Status]
  Completed=1
  RebootRequired=0
  [ResponseResult]
  ResultCode=0
                

Note that Setup.log has the structure of a standard Windows .ini file.

The following steps should be taken to programmatically determine whether setup was successful:

  1. Execute Msdex86.exe, Msdealpha.exe, or Setupsql.exe with the command line parameters to start an unattended install. These parameters can be found in the MSDE Readme.txt file (for MSDE) or in the SQL Server Books Online article "How to run an unattended installation".
  2. Wait for Msdex86.exe, Msdealpha.exe, or Setupsql.exe to complete. One method for waiting on a process to finish is documented in the following Microsoft Knowledge Base article:

    129796 HOWTO: Use a 32-Bit Application to Determine When a Shelled Process Ends

  3. After the InstallShield setup ends, check for the following conditions:
    • The ResultCode entry is present in the [ResponseResult] section, and the Completed entry is present in the [Status] section of the Setup.log file:
    • ResultCode == 0
    • Completed == 1
    If all three of these conditions are met, the MSDE/SQL setup succeeded. If ResultCode <> 0, Completed <> 1, or either of these two entries is missing, the installation failed.

In many cases you can also determine the general cause of failure by examining the Setup.log file. ResultCode will be a nonzero value for many failure conditions. The most common failure code is -12, which is caused when an unexpected setup dialog appears, or dialogs appear in a different order than the .iss file specifies. If you are using the SQL Server setup wizard to create your .iss file, make sure you proceed sequentially through the setup dialogs; if an error or unexpected dialog appears when running the wizard to create an .iss file you will have to restart the setup wizard to obtain a clean .iss file. If you receive a -12 ResultCode when using a modified version of the Unattend.iss file that is included with MSDE, try again with an unmodified version, and review the changes you made to the file carefully.

Other possible ResultCode values are:

Error code Error code description
0 Success.
-1 General error.
-2 Invalid mode.
-3 Required data not found in the Setup.iss file.
-4 Not enough memory available.
-5 File does not exist.
-6 Cannot write to the response file.
-7 Cannot write to the log file.
-8 Invalid path to the InstallShield Silent response file.
-9 Not a valid list type (string or number).
-10 Data type is invalid.
-11 Unknown error during setup.
-12 Dialog boxes are out of order.
-51 Cannot create the specified folder.
-52 Cannot access the specified file or folder.
-53 Invalid option selected.



This list can be found in the SQL Server 7.0 Books Online article titled "Scripting".


If setup completes successfully, the Setup.log file will also have a RebootRequired entry in the [Status] section. If RebootRequired=1, the computer will need to be rebooted to fully install all new components. If RebootRequired=0, no reboot is necessary.

The Setup.log file will be created in the Windows root directory (for example, C:\WINDOWS or C:\WINNT). The following Microsoft Knowledge Base article describes how to retrieve the path to this directory with the GetWindowsDirectory Windows API function:

210158 ACC2000: How to Find the Windows and System Paths


Sample .iss files that have been tested are available with both MSDE and SQL Server. The file Unattend.iss automates a typical install of MSDE, and the SQL Server CD includes sample .iss files for the installation of common variations of SQL Server installs (client utilities only, Desktop edition/Standard edition, and so forth).

REFERENCES

For additional information on an unattended installation, see the SQL Server 7.0 Books Online articles "Unattended Installation" and "How to run an unattended installation (Command Prompt)".

SQL Server 7.0 Books Online are available at the following URL:

Keywords: kbinfo KB233337