ACC1x: Setup (STFSETUP) GP Faults in Windows Standard Mode

Last reviewed: May 14, 1997
Article ID: Q102230
The information in this article applies to:
  • Microsoft Access version 1.1
  • Microsoft Access Distribution Kit version 1.1

SYMPTOMS

When you are running Microsoft Windows in standard mode, the error message "STFSETUP caused a general protection fault in STFSETUP.EXE" will occur near the end of the installation process if you are running any of the following:

  • The retail Setup of Microsoft Access version 1.1.
  • A workstation Setup (/n) from the version 1.1 upgrade disks.
  • A custom application developed with the Microsoft Access Distribution Kit (ADK).

CAUSE

This problem is caused by the detection and implementation of sharing mechanisms.

RESOLUTION

Run Windows in 386 enhanced mode during Setup. You may then switch back to standard mode to run your applications.

NOTE: This problem is solely confined to the Setup process. In no way does it affect how Microsoft Access runs in either standard or 386 enhanced mode.

If for some reason you cannot run Microsoft Windows in 386 enhanced mode, modify STFSETUP.IN_ as described below. Separate procedures follow for retail, upgrade, and ADK users.

Steps for Retail Users

  1. Make a backup copy of Disk1.

  2. On the backup disk, use an editor to modify the STFSETUP.IN_ file. Change the [System Paths] section from

    [System Paths]

          SYSTEMPATH = "" ? DETCMD.DLL GetWindowsSysDir
          WINDOWSPATH = "" ? DETCMD.DLL GetWindowsDir
          HARDDRIVELIST  = "" ? DETCMD.DLL GetAllValidLocalHardDrives
          NETDRIVELIST = "" ? DETCMD.DLL GetAllValidNetworkDrives
    

    to

    [System Paths]

          SYSTEMPATH = "" ? DETCMD.DLL GetWindowsSysDir
          WINDOWSPATH = "" ? DETCMD.DLL GetWindowsDir
          HARDDRIVELIST = "" ? DETCMD.DLL GetAllValidLocalHardDrives
          NETDRIVELIST = "" ? DETCMD.DLL GetAllValidNetworkDrives
          WINDOWSMODE = "" ? DETCMD.DLL GetWindowsMode
    

  3. Then change the following

        DoShareStuff = +
         set CurrentDialog = DoShareStuff
         set MAKEBAK = "NO"
         ui start VSHARERunning
         ifstr $(ANSWER) == "NO"
    

    to

        DoShareStuff = +
         set CurrentDialog = DoShareStuff
         set MAKEBAK = "NO"
         ifstr $(WINDOWSMODE) != "ENHANCED"
    
            set ANSWER = "NO"
         else
            ui start VSHARERunning
         endif
         ifstr $(ANSWER) == "NO"
    
    

Steps for Version 1.1 Upgrade Users

Single-user upgrades and Admin upgrades (setup /a) work fine. However, to run Setup or setup /n from the network with Windows in standard mode, you must first make the changes mentioned above to the STFSETUP.IN_ file in the ACCESS\INSTALL subdirectory on the network.

Steps for ADK Users

The ADK Setup works fine in Windows standard mode. However, before you create disks for your application, modify the SETUPWIZ.IN_ file (and optionally the CUST12MB.IN_, CUST14MB.IN_, and CUST720K.IN_ files) as follows:

  1. Change the following

    [System Paths]

           SystemPath =  "" ? DETCMD.DLL GetWindowsSysDir
    
           WindowsPath     =  "" ? DETCMD.DLL GetWindowsDir
           HARDDRIVELIST   = "" ? DETCMD.DLL GetAllValidLocalHardDrives
           NETDRIVELIST = "" ? DETCMD.DLL GetAllValidNetworkDrives
    
       to
    
       [System Paths]
           SystemPath =  "" ? DETCMD.DLL GetWindowsSysDir
           WindowsPath     =  "" ? DETCMD.DLL GetWindowsDir
           HARDDRIVELIST   = "" ? DETCMD.DLL GetAllValidLocalHardDrives
           NETDRIVELIST = "" ? DETCMD.DLL GetAllValidNetworkDrives
           WINDOWSMODE =  "" ? DETCMD.DLL GetWindowsMode
    
       NOTE: Unlike the Microsoft Access version 1.1 corrections, the first
       two variables in the [System Paths] section of the ADK is
       case-sensitive.
    
    

  2. Add the test case around VSHARERunning by changing the following from

        DoShareStuff = +
         set CurrentDialog = DoShareStuff
         set MAKEBAK = "NO"
         ui start VSHARERunning
         ifstr $(ANSWER) == "NO"
    

    to

        DoShareStuff = +
         set CurrentDialog = DoShareStuff
         set MAKEBAK = "NO"
         ifstr $(WINDOWSMODE) != "ENHANCED"
    
            set ANSWER = "NO"
         else
            ui start VSHARERunning
         endif
         ifstr $(ANSWER) == "NO"
    
    
NOTE: This is exactly the same change as the Microsoft Access version 1.1 change.

STATUS

Microsoft has confirmed this to be a problem in Microsoft Access version 1.1 and the Microsoft Access Distribution Kit version 1.1. This problem no longer occurs in Microsoft Access version 2.0 or the Microsoft Access Developer's Toolkit version 2.0.

MORE INFORMATION

Steps to Reproduce Problem

  1. Start Windows in standard mode (win /s), using the Microsoft Access version 1.1 Retail disks.

  2. Insert Disk 1 into drive A for 3.5-inch disks (or B for 5.25-inch disks).

  3. From the File menu in Program Manager, choose Run.

  4. Type a:\setup (or b:\setup) and press ENTER.

  5. Follow the instructions on your screen.

When you insert the last disk, you will receive this error.


Additional query words: gpf
Keywords : kbsetup StpOthr
Version : 1.1
Platform : WINDOWS
Hardware : X86
Issue type : kbbug
Resolution Type : kbworkaround


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 14, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.