Microsoft KB Archive/303882

= Visio2000: Visio Stops Responding at 80% While Updating Directory Cache in a Multiple-User Environment =

Article ID: 303882

Article Last Modified on 9/12/2007

-

APPLIES TO


 * Microsoft Visio 2000 Standard Edition
 * Microsoft Visio 2000 Professional Edition
 * Microsoft Visio 2000 Technical Edition
 * Microsoft Visio 2000 Enterprise Edition

-



This article was previously published under Q303882



IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry



SYMPTOMS
When you start Microsoft Visio for the first time, the progress bar may stop at 80 percent while Visio updates the directory cache. As a result, you cannot start and use Visio.

Each user that logs on to a computer that contains multiple profiles may experience this behavior.



CAUSE
This behavior occurs if Visio Setup does not correctly register certain components in the registry.



RESOLUTION
To resolve this behavior, start any Microsoft Office program before you start Visio. For example, start and quit Microsoft Word, and then start Visio.

To automate this process, create a script to start an Office program. Configure the script to run when each user logs on to the computer. By doing this, the script starts the Office program before the user starts Visio. The following two methods use sample scripts that demonstrate how to do this.

Method 1
Create a Microsoft Visual Basic Script file (.vbs file) that uses the Microsoft Windows Script Host (WSH) to check for the presence of the OfficeUserData registry keys. In the example used in this method, if the script detects that the registry keys are missing, the script silently instantiates Microsoft Word 2000. You can configure the script to start by using the Run key in the registry or by copying the script to the Startup folder of the user's profile on destination computers.

Create the Startword1.vbs Script
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

https://partner.microsoft.com/global/30000104

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

The following is as example of to create a script to start an Office program:  Start Notepad.

A new text file opens.  Copy and paste the following lines into the text file: Dim objWd, strMyDoc,wshShell

On Error Resume Next

Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)

strMyDoc = WshShell.RegRead(&quot;HKCU\Software\Microsoft\Office\9.0\Common\General\MyDocuments s&quot;)

If err.number <> 0 Then

Set objwd=CreateObject(&quot;Word.Application&quot;)

objWd.Quit

Set objwd = Nothing

End If                    On the File menu, click Save As. In the File name box, type Startword1.vbs, and then specify a location where you want to save the file.

NOTE: Make sure that you enclose the file name with quotation marks (&quot;) so that Notepad will save the file with the .vbs extension. Quit Notepad.</ol>

Deploy the Startword1.vbs Script
You can deploy the Startword1.vbs script by using one of the following methods: <ul> Copy the Startword1.vbs script to the Startup folder of the All Users profile on the destination computers. For example, copy the script to the following folders as appropriate, where  is the drive on which Microsoft Windows is installed: <ul> Microsoft Windows XP and Microsoft Windows 2000

Microsoft Windows NT 4.0

Microsoft Windows Millennium Edition (Me) and Microsoft Windows 98



-or-

</li> -or-Copy the script to the root of the drive on which Windows is installed (for example, C:\Startword1.vbs), and then create a new string value in the following key in the Windows registry:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

The script is configured to run automatically the next time a user logs on to the computer.

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:

270035 How to Modify the List of Programs that Run When You Start Windows

179365 INFO: Run, RunOnce, RunServices, RunServicesOnce and Startup

137367 Definition of the RunOnce Keys in the Registry

</li></ul>

Method 2
This method is similar to the example used in Method 1 in which you create a Visual Basic Script file (.vbs file) that uses the Windows Script Host (WSH) to check for the presence of the OfficeUserData registry keys. If the script detects that the registry keys are missing, the script silently instantiates Microsoft Word 2000. The difference between Method 1 and Method 2 is that Method 2 uses a script that removes itself from each user's Startup folder after the script is run once.

Step 1: Create the Startword2.vbs Script
Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs. If you have limited programming experience, you may want to contact a Microsoft Certified Partner or the Microsoft fee-based consulting line at (800) 936-5200. For more information about Microsoft Certified Partners, please visit the following Microsoft Web site:

https://partner.microsoft.com/global/30000104

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:

http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

The following is an example of how to create a script that starts an Office program: <ol> Start Notepad.

A new text file opens.</li>  Copy and paste the following lines into the text file: Dim objWd, strMyDoc,wshShell

On Error Resume Next

Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;)

Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)

strMyDoc = WshShell.RegRead(&quot;HKCU\Software\Microsoft\Office\9.0\Common\General\MyDocuments s&quot;)

If err.number <> 0 then

Set objwd=CreateObject(&quot;Word.Application&quot;)

objwd.Quit

Set objwd = Nothing

end if

fso.DeleteFile WshShell.SpecialFolders(&quot;Startup&quot;) & &quot;\Startword2.vbs&quot; </li> On the File menu, click Save As.</li> In the File name box, type Startword2.vbs, and then specify a location where you want to save the file.

NOTE: Make sure that you enclose the file name with quotation marks (&quot;) so that Notepad will save the file with the .vbs extension.</li> Quit Notepad.</li></ol>

Deploy the Startword2.vbs Script
Deploy the Startword2.vbs script to the Startup folders of each user profile on the destination computers. For example, copy the script to the following folders, where  is the drive on which Windows is installed:
 * Windows XP and Windows 2000


 * Windows NT 4.0


 * Windows Millennium Edition (Me) and Windows 98



<div class="moreinformation_section">

MORE INFORMATION
For additional information about how to use Visio, click the article number below to view the article in the Microsoft Knowledge Base:

281273 Visio: Online Resources for Books, Training, Tips, Updates, Development, Solution Providers, and Support

For more information about Visual Basic Scripting, go to the following Microsoft Web site:

http://msdn2.microsoft.com/en-us/library/ms950396.aspx

For more information about Windows Script Host, visit the following Microsoft Web site:

http://msdn2.microsoft.com/en-us/library/shzd7dy4.aspx

For additional information about how to resolve this issue in a single-user environment, click the article number below to view the article in the Microsoft Knowledge Base:

263146 Vso2000: Stops Responding at 80% While Updating Directory Cache

Additional query words: prb

Keywords: kbdta kbprb KB303882

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.