Tag Archives: Microsoft

Adobe Flash Player is frequently updated, which makes it difficult to keep a large user-base on the current version. This post is a collection of useful links for managing Flash Player.

Adobe Flash Player Version Information

This page reports the version of Flash Player currently running on the browser, along with the latest available version.
http://www.adobe.com/software/flash/about/

Install the latest version of Flash Player

To install the latest version of Flash Player, visit http://get.adobe.com/flashplayer/.

How to download the offline Flash Player installer

To download the offline Flash Player installer (*.exe) for Internet Explorer or Chrome, Firefox, Safari and Opera:

  1. Go to the download page at
    http://get.adobe.com/flashplayer/.
  2. Click on the link:
    Different operating system or browser?
  3. Select an operating system from the menu and click Continue.
  4. Select your browser.
  5. Click on the “Agree and install now” button to initiate the download.
  6. Run the installer file.
Install Adobe Flash Player

Install Adobe Flash Player

The direct link to the current version of the Flash Player installer (for Windows) for Chrome, Firefox, Safari and Opera:
http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe

The direct link to the current version of the Flash Player installer (for Windows) for Internet Explorer:
http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player_ax.exe

Flash RSS Feeds

Recent documents: http://www.adobe.com/support/flashplayer/rss/recent.documents.xml
Top issues: http://www.adobe.com/support/flashplayer/rss/top.issues.static.xml
Developer Center: http://rss.adobe.com/developer_center_flashplayer_tutorials.rss?locale=en_US
Flash Player news: http://rss.adobe.com/resources_flashplayer.rss?locale=en_US

Distribute Adobe Flash Player

You may post Adobe Flash Player on company intranet sites or local networks.
The Adobe Flash Player is available for for distribution and use beyond single-user installations. This includes, for example, distributing to workstations within your department or organization, or on fixed media with your software product or multimedia experience.

http://www.adobe.com/products/players/fpsh_distribution1.html

Adobe Flash Player Settings Manager

The Settings Manager is a special control panel that runs on your local computer but is displayed within and accessed from the Adobe website. Adobe does not have access to the settings that you see in the Settings Manager or to personal information on your computer.

To change your settings, click the tabs to see different panels, then click the options in the Settings Manager panels that you see on the web page.

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html

How to disable notification of Flash Player updates

Flash Player is notoriously insecure, so I’d recommend keeping it up-to-date.

Right-click on any Flash content, select Global Settings, and click the Global Notifications Settings panel link in the Flash Player Settings Manager.

Note: The Settings Manager is a Flash application that displays Flash Player settings which are stored on your computer only. Adobe does not store or track this information on its servers nor does it pass this information to third parties.

Deselect the “Notify me When an Update to Adobe Flash Player is available.” option to stop receiving notifications.

Close the Settings Manager browser window. Flash Player automatically remembers the new settings.

Error messages in Internet Explorer

“Internet Explorer has encountered a problem with an add-on and needs to close. The following add-on was running when this problem occurred: Flash10a.ocx”

http://kb2.adobe.com/cps/408/kb408620.html

Update 5.5.11: I’ve written a better macro that doesn’t require a separate batch file and registry merge file. Please check out the new post at:

Programmatically re-enabling Word COM add-ins

A few months ago, I wrote a post on fixing Word 2007 add-in issues with a registry merge. In this post, I’ll take that idea a little further and explain how to automatically detect and fix add-ins through the use of a macro that runs each time Word is opened and a batch file that runs the registry merge file. All the end-user needs to do to repair the missing functionality is close and reopen Word.

The idea is that, in a corporate environment, there are certain important add-ins that must be running in order for Word to work normally. A good example would be an add-in that integrates Word with a document management system. Should that integration be lost because the add-in failed to load, data may be lost. Because there is no way to force Word to load certain add-ins, and there is no built-in function in Word for warning users when critically important don’t load, I decided to come up with a method for alerting the user to the problem and then fixing it with as little inconvenience as possible.

The example code in this post assumes the workstation is running Office 2007 on Windows XP (32-bit). I would think that the method could be adapted to other environments (Windows 7, Office 2010) without too much trouble. I’ve tried to note where differences come up on Windows 7 and 64-bit operating systems.

The process has four components:

  • an autoexec Word 2007 macro that runs each time Word is opened
  • a batch file that runs the registry merge file and writes an entry to a log file
  • the registry merge file that contains the correct LoadBehavior settings for the add-ins
  • a text file that acts as a log

The macro can be added to Normal.dotm or saved to a new .dotm file placed in the startup directory. The .bat batch file, .reg registry file, and .txt log file can be put anywhere, but in this example, they will be saved to a new folder C:\Word Add-ins fix\.

In the code examples below, I’ll be using the Acrobat PDFMaker Office COM Addin as the add-in that must always be loaded. This plugin is installed with Acrobat versions 8.1 and above and adds an Acrobat tab to the ribbon.

The macro

The first thing to do is to collect some information on the COM add-ins that are currently installed. Microsoft Support provides a simple macro for listing all of the COM add-ins at Some COM add-ins are not listed in the COM Add-Ins dialog box in Word. I recommend using this macro to identify the ProgID of your add-ins. The text to the left of the hyphen is the add-in’s Description and the text to the right of the hyphen is the ProgID.

Running the macro from the Microsoft site shows us that the ProgID for the Acrobat PDFMaker Office COM Addin is PDFMaker.OfficeAddin.

In Microsoft jargon, an add-in with a LoadBehavior of 3 is ‘Connected’. The COMAddIn object has a property called Connect that will be True if the add-in is Connected and False if it is not. The macro first checks the Connect property of each add-in and writes the ProgID of each Connected add-in to a string. It then checks to see if the string contains a match for each of the required add-ins. If the required add-in does not exist in the string, the macro will display a message to the user and fire the batch file to reset the LoadBehavior. It also passes the names of any not connected add-ins to the batch file as a parameter, so that information can be logged.

I found this article from MSDN on the COMAddIn object very helpful.

Sub AutoExec()
'
' FindMissingAddins Macro
' Display a message box with any critical but not 'Connected' COM add-ins
'

   Dim msg As String
   
   Dim MyAddin As COMAddIn
   Dim i As Integer, stringOfAddins As String
   
   For Each MyAddin In Application.COMAddIns
      If MyAddin.Connect = True Then
          stringOfAddins = stringOfAddins & MyAddin.ProgID & " - "
      End If
   Next
   
' Update the number of elements in the array
' Example: change to "requiredAddIns(0 To 4)" if you were checking 5 total add-ins)
   Dim requiredAddIns(0 To 0) As String
   
' Add each required AddIn to the array
   requiredAddIns(0) = "PDFMaker.OfficeAddin"
'   requiredAddIns(1) = ""
'   requiredAddIns(2) = ""
'   requiredAddIns(3) = ""
'   requiredAddIns(4) = ""
   
   For Each requiredAddIn In requiredAddIns
      If InStr(stringOfAddins, requiredAddIn) Then
         msg = msg
      Else
         msg = msg & requiredAddIn & vbCrLf
         listOfDisconnectedAddins = requiredAddIn & " " & listOfDisconnectedAddins
         listOfDisconnectedAddins = Trim(listOfDisconnectedAddins)
      End If
   Next
   
   If msg = "" Then
   Else
        MsgBox "The following important add-ins are not running: " & vbCrLf & vbCrLf & msg & vbCrLf & vbCrLf & "Please save your work, then close and reopen Word."
' Run a batch file that corrects the add-in problems in the registry and pass the list of unconnected add-ins as an argument
        Shell """C:\Word Add-ins fix\fixWordAddins.bat"" """ & listOfDisconnectedAddins & """"
   End If
   
End Sub

Edit the macro to fit your environment. You will need to specify each required add-in’s ProgID in the requiredAddIns array and update the number of add-ins in the array’s definition. The macro needs to be named AutoExec in order to run when Word starts.

This is the message that the user will receive if the macro finds that a required add-in is not Connected.

Clicking OK runs the batch file and closes the window.

The batch file

The batch file is called by the macro when any of the add-ins are not registered and currently connected. The batch file references the .reg file that contains the correct LoadBehavior settings and writes an event to the log with information on the username, the machine name, the datetime that the problem was discovered and which add-in(s) were not connected.

Copy the code and save it as fixWordAddins.bat to the C:\Word Add-ins fix\ directory or wherever you want.

:: A batch file for running a registry merge to set the LoadBehavior for Word add-ins
::
@echo off

REGEDIT /S "C:\Word Add-ins fix\fixWordAddins.reg"

:: Let's create a little log file and output which user ran the script and at what date and time
:: Set some variables for the date. US format - not localized!
@For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @( 
	Set Month=%%A
	Set Day=%%B
	Set Year=%%C
)

:: Set some variables for the time.
@For /F "tokens=1,2,3 delims=/: " %%A in ('Time /t') do @( 
	Set Hours=%%A
	Set Minutes=%%B
	Set Meridiem=%%C
)

:: Output to a log file
@echo %username% at %computername% on %Month%/%Day%/%Year% at %Hours%:%Minutes% %Meridiem% (%1) >> "C:\Word Add-ins fix\log.txt"

The registry merge

Add-ins can be ‘hard-disabled’ or ‘soft-disabled’ by Word 2007. Please see my post at fixing Word 2007 add-in issues with a registry merge for more information about what this means. The following registry merge will address both issues.

The registry merge will have to be edited for your environment, too. First, find the LoadBehavior value in the the registry for each of your add-ins in either of two locations:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addins\
HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\

If you don’t find your add-in in either of those locations, search the registry for the ProgID.

A LoadBehavior of 3 = loaded (this corresponds to a checked box in Word Options/Add-Ins)
A LoadBehavior of 2 = not loaded (this corresponds to an unchecked box in Word Options/Add-Ins)

The only add-ins that you need to worry about here are those that you want to always run (those that normally have a LoadBehavior of 3). Export those keys and add them to the .reg file.

Copy the code and save it as fixWordAddins.reg to the C:\Word Add-ins fix\ directory or wherever you want. Edit it for the add-ins you wish to load.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency]

[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\Resiliency]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addins\PDFMaker.OfficeAddin]
"LoadBehavior"=dword:00000003

On 64-bit versions of Windows, the add-ins can be found in:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\Word\Addins\

The log file

If the log file doesn’t already exist, the batch file will create it. Each time the batch file runs, it adds a line to the end of the log file.

An entry will look something like this:

USERNAME at MACHINENAME on 06/17/2010 at 01:02 PM ("PDFMaker.OfficeAddin")

Caveats

The macros in a *.dotm can’t be edited if that template was opened from the startup location. Open a copy in another location, make your changes and save, and then overwrite the version in the startup location.

Windows 7

Note that in Windows 7, the UAC needs your permission to run a .bat file.

The Word startup location in Windows 7 (put any custom *.dotm files here):
\AppData\Roaming\Microsoft\Word\STARTUP

The default location of Normal.dotm in Windows 7:
\AppData\Roaming\Microsoft\Templates

Generally

In nearly all cases, using the Native client is recommended over the Java client. See the section Changing the client for instructions.

To check/change the current client, click on the Advanced Options link on the login screen. Under “Remote client type”, the Native client should be currently selected.

Many issues are resolved by confirming that the local computer’s system clock is correct, deleting temporary internet files, and/or uninstalling then reinstalling the Citrix client. The Beyond site should be added to the Trusted Sites list in IE (see below).

Note that connecting to a user’s computer via a Webex support session installs a WebEx Document Loader virtual printer on that computer and sets it as the default printer.

Client installation issues

The latest Citrix client software can be downloaded from http://www.citrix.com/site/SS/downloads/index.asp.

Some older versions can be downloaded with fewer clicks from //ardamis.com/2009/11/26/citrix-xenapp-web-plugins/.

The wrong client software has been installed

Opening Citrix causes a window to open asking “What is the address of the server hosting your published resources.” There is a space to fill in the server name. The sample answer is https://servername

Uninstall and reinstall the Citrix client. Only the web plugin component should be installed.

Issues at the Citrix login page

Error messages to do with ‘invalid credentials’

This error is typically caused by an incorrectly typed password, PIN, or keyfob number; a domain password out of sync with the Novell password; or a keyfob in next tokencode mode.

Client software not detected

Before the user authenticates at the Citrix login page, the following warning is displayed in the Message Center:

We are unable to detect the appropriate client software on your computer to allow you to launch your applications.
Click here to obtain the client software

If the IE yellow warning bar is visible, click on it to install the Citrix Helper Control (an Active X control). Otherwise, if the software has been installed, click on the “Click here to obtain the client software” link, then click on either the Allow button or yellow bar to install the Citrix Helper Control, or click on the “Already Installed” link.

Adding the Beyond site to the Trusted Sites list in IE should allow the Active X control to run without prompting (see below).

Issues after successfully authenticating at the Citrix login web page

IE Trusted Sites

The user is able to authenticate at the Citrix login page and the applications are available, but the user sees the following warning in the Message Center:

Current browser security restrictions may prevent you from launching applications, or may require your explicit permission to proceed. To launch an application successfully, save the launch file if prompted and double-click the file to start the application.

This message appears only in Internet Explorer. Firefox and Chrome do not produce the warning. If the user is able to connect to the applications, the message can be ignored.

If the user is unable to connect, the resolution is to add the site to the Trusted Sites list in Internet Explorer:

In Internet Explorer, navigate to https://.com
Click Tools -> Internet Options -> Security tab.
Click the Trusted Sites checkmark icon, then click the Sites button.
Confirm that the URL https://.com appears in the top box, and click the Add button. Click Close and OK to return to the login screen.
Log in.

Client software not detected

The user is able to authenticate at the Citrix login page. Instead of a page displaying the available applications, the user sees a page displaying with the following warning:

Download Client Software
We are unable to detect the appropriate client software on your computer to allow you to launch your applications.
If you wish to download and deploy the client software to allow you to launch your applications, click Download.

If the IE yellow warning bar is visible, click on it to install the Citrix Helper Control (an Active X control). Otherwise, click on the ‘Already Installed’ link under Troubleshooting Options at the right-hand side of the page.

Temporary internet files

The user is prompted to save the launch.ica file. If the user saves the file and double-clicks it, Citrix opens but then displays an error:

The Citrix SSL server is not accepting connections.

Try clearing the browser’s temporary internet files. If this doesn’t resolve the issue, follow the instructions for adding the site to IE’s Trusted Sites, above. (Strangely, the resolution in a few tickets is to reboot the router.)

Client installation

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives the error:

Connecting through Citrix secured gateway. Error reading from proxy server.

Uninstall and reinstall the Citrix client. Only the web plugin component should be installed.

Session reconnection

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives the error:

There are no existing applications available for reconnection.

This is simply an informational message stating there are no pre-existing apps to reconnect to. It can be ignored if the user is not having an issue launching applications.

MSLicensing registry key

The user is able to authenticate at the Citrix login page. After clicking on an application, the user receives one of the following errors:

There is no route to the specified subnet address.
or
The Citrix MetaFrame server is not available. Please try again later.

To resolve, delete the MSLicensing registry key.

Click on the Start button, select Run and type in “regedit”.
Click OK.
The registry editor window will open.
Go to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing.
Click once on MSLicensing so it is highlighted and then hit the Delete key.
Close the registry editor and attempt to login to Citrix.

Issues at the Novell Client window

Connecting to the wrong application

The user receives the following error message in Citrix after entering a username and password at the Novell Client window:

The system could not log you into the network.
Make sure your name and connection information are correct, then type your password again.

The user is likely trying to connect to the wrong application. For example, a Chicago user may have clicked on the DC Desktop application.

Issues after successfully authenticating at the Novell Client window

Reconnecting to a session

The user receives the following error message in Citrix after successfully authenticating at the Novell Client window:

Connection error: You have not been granted access to this published application

This issue can be resolved by a Citrix administrator. It may be due to an issue with a prior ‘disconnected’ session not connecting correctly. The administrator can reset the session.

Printer unavailable issues

The user cannot find the local printer in the list of available printers.

Disconnect from Citrix, set the local printer to be the default printer, confirm that the Native Client is the selected Citrix client under Advance Options, and reconnect to Citrix. If the printer is still missing, uninstall and reinstall the Citrix client.

Printer offline issues

While connected to Citrix, the user receives periodic messages having to do with ‘a network printer is offline’.

Check the physical printer. It is likely jammed or out of paper. It may also be that the printer is set to accept only certain paper types or sizes.

Confirm that the printer driver in Citrix is correct for that model printer.

Print jobs are not processed

In Citrix, a single print spooler is shared by all connections. A large print job can delay all other jobs, or a stuck job may prevent any other jobs from being processed. After ruling out other causes, contact the Citrix administrator to resolve.

MacPac

The user receives various errors when using MacPac.

If the user’s H: drive user folder is missing a \MacPac\Personal\ folder, copy yours to the user’s folder.

Lag

Latency is the primary cause of poor performance in Citrix. Latency can be roughly measured by pinging the URL of the login server. Latency greater than 100ms will result in lag and other problems. An example of lag is when the user types in a Word document but the text doesn’t appear on the screen for a few moments, then catches up all at once.

Citrix window not responding

Shortly (and sometimes immediately) after authenticating at the Novell Client window, the Citrix window will stop responding.

The fix is to give the user full rights to the MSLicensing key.

Open Regedit and navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing

Right-click on the MSLicensing key and select Permissions.
Under the Security tab, click on Users to highlight it.
Check the box in the Allow column next to Full Control.
Click OK and close Regedit.

Accessing the local machine’s hard drive

Once in Citrix, right-click on the Start button in the Citrix environment and select Explore.

Browse the list of drives in the left-hand pane and locate “C$ on ‘Client’ (C:)“. This is the local workstation’s C: drive. Click on the drive to open it.

How to allow Citrix access to the local machine’s hard drive and USB devices (including printers)

The first time you connect to Citrix, you’ll be shown a ICA Client File Security setting window where you can choose what access to your local machine you wish to grant to Citrix. You are also able to choose to “Never ask me again”.

If you need to later change these settings, follow the appropriate steps below (try the ‘newer clients’ step first).

Newer clients:

While connected to Citrix, double-click on the Citrix Connection Center icon in the system tray of the local machine. Click on the Security icon to configure the Session Security options for Files, Microphones/Webcams, PDA Devices, and USB/Other Devices.

Older clients:

Disconnect from Citrix. On the local machine, delete the webica.ini file under C:\Documents and Settings\[username]\Application Data\ICAClient. When you next reconnect to Citrix, you’ll be shown the ICA Client File Security setting window again.

Citrix Program Neighborhood

How to minimize the Citrix window to view the local machine’s desktop.

Shift+F2

SSL Errors

SSL error 61 (the server certificate received is not trusted)

Run Windows Updates and update the root certificates.

SSL error 68 (the SSL certificate is not yet valid)

Set the local system clock to the current date and time.

SSL error 70 (the SSL certificate is no longer valid)

Set the local system clock to the current date and time.

SSL/TLS error: The certificate validation failed.

Confirm that the Native client, not the Java client, is in use by clicking on the Advanced Options link on the login screen.

http://support.citrix.com/article/CTX125056

Changing the client

Changing the client from Java to Native resolves a good number of connection problems. The only time the Java client is preferable is when OS X 10.6.6 is used with a particular release of the Mac Citrix Client and the local default printer is not available in Citrix.

To change the client, at the Citrix web interface login screen, click on the Advanced Options link below the Passcode field. The area below the Advanced Options link will expand.

(Click any of the thumbnails below to see the full-sized image.)

The Advanced Options area

Click on the link Click here to change the selected client. You’ll be taken to the Client Selection page. If the Native Client shows a status of Not detected, click on Deploy to the right of Native Client.

The Client Selection page

If the Native client cannot be detected by the browser, but you’re certain it has been installed, click on the Already Installed link at the right of the Client Detection and Download page. If there’s any doubt that the latest client is installed, click on Download and install the Citrix Online Web plugin.

The Client Detection and Download page

You may be returned to the Client Selection page. Once the Native Client has been deployed, choose it from the Default Client menu and click OK.

Return to the web interface login page and confirm that the Native Client is listed as the currently selected client under Advanced Options, then log in normally.

These are from my notes that I took when setting up IIS 7.5 on Windows 7. It’s not supposed to be a how-to, exactly. It’s just what I need to do to get my dev server up and running classic .ASP pages.

Install IIS via Control Panel -> Programs and Features -> “Turn Windows features on or off”.

Click the box next to Internet Information Services. It will become blocked, not checked, indicating some but not all features are installed. Click OK.

Once Windows has installed IIS, browse to http://localhost/ to confirm the server has started.

If you browse to an .asp page, though, you’ll get a Server Error:

HTTP Error 404.3 – Not Found
The page you are requesting cannot be served because of the extension configuration. If the page is a script, add a handler. If the file should be downloaded, add a MIME map.

To enable the server to run classic .ASP pages, go back to Control Panel -> Programs and Features -> “Turn Windows features on or off”, then expand Internet Information Services -> World Wide Web Services -> Application Development Features. Check the box next to ASP, then click OK.

Parent Paths is disabled by default on IIS 7.5. To enable it, run the following command as administrator:

%systemroot%\system32\inetsrv\APPCMD set config "Default Web Site" -section:system.webServer/asp /enableParentPaths:"True" /commit:apphost

Credit: http://learn.iis.net/page.aspx/566/classic-asp-parent-paths-are-disabled-by-default/

Classic ASP script error messages are no longer shown in the web browser by default on IIS 7.5. Misconfigurations are hard to troubleshoot, because IIS returns only:

An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.

To enable sending detailed ASP script error messages to the Web browser (as was the case in IIS 6), run the following command as administrator:

%windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true

Credit: http://blogs.iis.net/bills/archive/2007/05/21/tips-for-classic-asp-developers-on-iis7.aspx

To start the default web site from the command line, run the following command as administrator:

%systemroot%\system32\inetsrv\APPCMD start site "Default Web Site"

To stop the default web site from the command line, run the following command as administrator:

%systemroot%\system32\inetsrv\APPCMD stop site "Default Web Site"

Even better, you can make shortcuts to batch files that contain those commands, and then set the shortcuts to always run as administrator.

The c:\inetpub\wwwroot directory is UAC-protected. If you are going to leave UAC on (and it’s recommended that you do), you will probably want to change the NTFS permissions on the wwwroot folder so that you don’t have to click through a prompt each time you change a file.

The IIS Manager app is located at Control Panel -> Administrative Tools -> Internet Information Services (IIS) Manager.

In May, 2011, the Xbox Forums were redesigned and some, but not all, of the existing content moved to a new subdomain: http://forumsarchive.xbox.com. I’ve updated the post to fix the links so they no longer 404, but the rest of the information is dated and probably inaccurate.

I was having some problems with Final Fantasy XIII freezing on my Xbox 360, so I posted a few times to the Xbox Forums at http://forums.xbox.com/. The posts contained a link to a blog post here on ardamis.com that explained my situation in greater detail. I started to wonder if the forums were searcheable in Google, so I checked and found that for the most part, they weren’t.

The regular forum thread URLs contain a nofollow, noindex robots meta tag and end with ‘ShowPost.aspx’, but if you click on the Print button, you’re taken to a URL that ends with ‘PrintPost.aspx’. These printer-friendly pages have no such tag.

If you Google this – site:forums.xbox.com – you’ll see what I mean. There are currently less than a thousand results in Google.

This post is just to test whether I can get a PrintPost.aspx page indexed in Google by linking to it, and whether I can create an inbound link from forums.xbox.com by linking to the printer-friendly version of a thread that contains a link back to a page on ardamis.com.

The URL to the normal thread: http://forumsarchive.xbox.com/31588531/ShowPost.aspx
The URL to the printer-friendly page: http://forumsarchive.xbox.com/31588531/PrintPost.aspx

The URL to the normal thread: http://forumsarchive.xbox.com/31685953/ShowPost.aspx
The URL to the printer-friendly page: http://forumsarchive.xbox.com/31685953/PrintPost.aspx

To test, as of 03.17.2010…
Your search – site:forums.xbox.com ardamis – did not match any documents.

Update: 03.18.2010

Both PrintPost.aspx pages are now indexed. Google Webmaster Tools still doesn’t know of any inbound links to my Final Fantasy post, although there are probably a handful by now.

Update: 03.19.2010

The PrintPost.aspx pages are now showing up as the first two results in Google for final fantasy xiii xbox freeze. My post is the third result.

Update: 03.31.2010

My post is now the first result for final fantasy xiii xbox freeze. The PrintPost.aspx pages are now showing up as the second and third results.

Update: 06.26.2010

The answer is Yes, it is possible to get inbound links that show up in Google Webmaster Tools from forums.xbox.com.

Report this problem to Microsoft.
If you are experiencing freezing in Final Fantasy XIII, report it to Xbox support.

Toll free: (800) 4MY-XBOX or (800) 469-9269
9:00 A.M. to 1:00 A.M. Eastern Time
Have your console serial number ready.
Be in front of your console for troubleshooting.

My Xbox 360 started freezing up last night after a few hours playing Final Fantasy XIII. Either the screen would suddenly go snowy/blank with a bluish-gray tinge, or it would freeze/lock up but keep displaying the last ‘frame’ of whatever was happening. This happened maybe three times, and each time I had to power off at the console, because while the first segment of the ring on the console and the controller stayed lit, the console stopped responding to the controller. There was no discernible difference in the CD ROM activity at the point of lock-up, or before or after it.

I figured that maybe the unit was overheating, and I was falling asleep anyway, so I called it a night.

Today, I turned it on, loaded my last saved game, and no more than turned my character around to face the other direction when it froze and gave me a blank screen.

Because the unit had been on for less than 4 minutes, it seemed that overheating was pretty unlikely. I started to Google around to see if this was affecting other Final Fantasy owners, but didn’t find much. My game is freezing during Chapter 3: Branded, at Lake Bresha – The Waters Stilled. Each time I turn toward a group of Cie’th, it freezes. If I just sit at the spawn point and watch the fireflies for awhile, I don’t seem to have any problems.

Microsoft’s support page for Screen freezes when you use your Xbox 360 console has 7 steps for troubleshooting this sort of issue. I’ve gone through each one.

I checked the DVD and it’s pristine – it has been handled exactly once, when I removed it from the case and carefully put it into the drive.

I tried another game (Lego Star Wars) and played it for about half an hour with no problems. I’ve messed around in the Dashboard menus for about 5 minutes with no issues.

I haven’t been connected to Xbox Live since I bought the game. It’s not even connected to my router.

I set the console upright instead of on its side, well away from anything that might be blocking airflow and still crashed.

I cleared the system cache, tried again and locked up.

I made it back to the save point, saved the game to a memory card, and then crashed.

I loaded the game from the new save on the memory card and crashed.

I removed the hard drive, loaded the game from the memory card save, and played for about 2 minutes before crashing again.

I loaded the game from an earlier save point and it crashed within a minute at a point that I played through fine the night before.

At this point, I’m out of ideas. It’s gotta be the game making the Xbox do something that it can’t handle, or a defect with the disk that is not due to mistreatment. My Xbox was actually one I got in exchange from Microsoft when I shipped back a unit suffering from the RRoD. Its date of manufacture is 2006-12-16, so maybe that has something to do with it.

Update: 13 March 2010

I called Xbox support last night and asked if anyone had reported freezing in Final Fantasy, and the guy said I was the first. He suspected the disc, and suggested I return the game or try the disc in a different Xbox. He was pretty surprised to hear that the freezing occurred while the hard drive was disconnected. I asked if they still did replacements like in the RRoD days, and he avoided answering, pointing out that the problem seems to be isolated to the one game.

In a last ditch effort, I decided to install the game to the hard drive and run it from there. It didn’t make any difference – the lockups continued to happen within a minute or two of loading a saved game.

I also figured I’d get on Live and see if there were any patches or updates to download, but none are available so far.

I air dusted the Xbox and the power supply brick, too.

My feeling is that it’s a GPU issue. The last time it froze, instead of blank/snow or a frozen frame, I got a series of blue vertical lines.

If the problems continue today, I’m going to:
a) exchange the game and try different discs,
b) put my hard drive on another unit and test, and
c) bug Xbox support again.

Update: 13 March 2010 (Part 2)

I exchanged the game, popped in the new disc, removed the hard drive, loaded from the save on the memory unit, and it froze. So, to rule out a corrupt save somewhere, I started a brand new game from the DVD with the hard drive still disconnected and it froze in the middle of the second battle. It is not a media issue, a hard drive issue, or a corrupted save issue.

The only thing potentially odd about my setup is that I’m running at 1280 x 720 widescreen resolution output to VGA via a Microsoft Xbox 360 HD AV Cable instead of the usual component output. I’m running Dashboard: 2.0.8955.0.

Update: 14 March 2010

I tried changing the resolution to 1024×768 and it still froze.

I called Microsoft for the second time.

The tech support girl on this call also was unaware of any other reports of Final Fantasy XIII freezing, and sent me through the same basic troubleshooting script, with the addition of disconnecting and reconnecting the cables (something I’d already really done) and verifying that I had enough free space on my hard drive to install any updates (check, 5.9 GBs free). She asked me to turn the console on and off, which I did. While I didn’t realize it until after the call was over, Final Fantasy had started up and then froze at the title screen. I pointed out that I had logged 4 hours of game time without any problems, and haven’t been able to play for more than 3 or 4 minutes at a time since the first freeze, that I was freezing in brand new, unsaved games, with and without the hard drive attached, while online and offline. At every opportunity, she countered with “If it plays other games, then it’s not broken.”

All she could offer was a recommendation to first verify that the game disc was fine by playing it in another console, then send mine in for a $99.99 out-of-warranty repair.

She asked me when I bought the Xbox, so I got to tell her that I didn’t buy it – Microsoft sent it as a replacement to my RRoD’d unit. This makes me think they should offer a life-time replacement guarantee on their replacements, rather than a 1-year warranty.

After I got off the phone, I played two hours of BioShock without any problems.

Basically, the situation is this: I need to get my hands on another Xbox, prove to myself that the disc is fine, then decide whether to have my unit repaired or buy a new one.

Option 1 – Repair: I give them my 2006 Xenon Xbox and $99.99, wait for them to troubleshoot it and then ship me a replacement. This will most likely be a refurbished unit of unknown age (probably an Opus).

Option 2 – Replace: I keep my otherwise perfectly fine Xbox, go to Target and buy a brand new Jasper Arcade for $199.99, or roll the dice with a refurb from Gamestop for $159.99.

Ideally, Microsoft will come around and replace the unit for free, but if it won’t, I’d rather pay the extra $100 and get a second unit, a new power supply, and another controller.

Update: 15 March 2010

I submitted a support ticket to Square Enix at https://support.na.square-enix.com/ after 10 unsuccessful minutes trying to find a phone number.

I began to wonder if the problem was with my 64 MB memory unit, so I moved my profile from the memory unit to the hard drive, removed the memory unit, and put the second disk in. (It’s bad troubleshooting procedure to change two variables, I know.) I started up Disc 2 and tried to open the Settings menu and it froze with the blue vertical stripes. I guess this rules out the disc and the memory unit.

I air dusted the CD ROM drive again for good measure.

I did notice a good deal of heat buildup at the bottom of the console toward the back, right underneath the fans. I checked to make sure both were spinning, and they were. I see only a very little bit of dust on the fan blades and heat sink fins. But this puppy does pump out hot air like nobody’s business.

I played another 2 hours of BioShock tonight, and about 1.5 hours in, the game hiccupped a few times – freezing momentarily, for maybe half-a second or so, but then resuming. Eyebrow-raising, but not enough to convince me that the system was bad. But at the 2 hour mark, it completely froze. This wasn’t entirely unexpected, but I’m bummed none-the-less, because it was working fine for 2-hour (or longer) sessions of Modern Warfare 2 just a few weeks ago. Still, why would I be able to play one game for hours before having problems, but another game freezes before I even have a chance to load a save? And was FFXIII the straw that broke the camel’s back?

Update: 16 March 2010

Now I’m worried that the unit is really damaged, that even if a software patch comes out, it will be too late. What’s more, I don’t want to test the game in my nephew’s Xbox for fear of causing similar damage to his system.

I spent some time Googling today. There are lots people reporting this issue, and many of them have exchanged their discs. None of the posts that mention exchanging the game report that it resolved the issue. Of all the dozens of reports of problems, there are no known resolutions and no acknowledgement by Microsoft, Sony, or Square Enix that a problem exists. Hilariously, a number of people have posted that their calls to various tech support numbers have all been ‘the first they’ve heard of this’. Another surprisingly common observation is that while the problems were first noticed in FFXIII, both Xbox and PS3 consoles quickly began exhibiting problems in other games. Most of the problems occur on older, out-of-warranty consoles, but some newer machines are affected.

On the other hand, I’ve found a few threads wherein people claim that mass breakdowns of consoles occur with each large release. There’s some substance to that, I suppose. Consoles probably wear out at a pretty consistent rate, but around the time of a release, you get lots of people playing a single game and if a console happens to fail at that point, the game is blamed. But I don’t think that this is what’s happening here. Too many people are noting that they’re not playing FFXIII more than say BioShock 2 or Modern Warfare 2, which were other recent big releases. Their systems were operating normally until they started playing FFXIII, and in many cases continued to play other games normally. Less often, but still not uncommonly, once the problems begin, they happen in other games. I was in the former group (and may still be, with luck), and still feel that the game itself is problematic.

The game is also freezing on PS3s, maybe moreso than on the Xbox, and that community seems much more vocal about it. There’s a 7-page thread at http://boardsus.playstation.com/t5/Final-Fantasy-Series/Final-Fantasy-XIII-Freezing/m-p/45391106 and a 5-page thread at http://community.eu.playstation.com/t5/Technical-Help/Final-Fantasy-XIII-problems/td-p/10379629 of people having problems, mostly with older systems. Here’s a video of it freezing, but more exist.

In an attempt to document the scope of the problem, I’ve put together a list of links:

Final Fantasy XIII freezes/locks up
http://forums.xbox.com/31685195/ShowPost.aspx

Final Fantasy XIII | Final Fantasy XIII Freezing Up
http://forums.xbox.com/31660983/ShowPost.aspx

Issues with GPU begin after playing FFXIII
http://forums.xbox.com/31681685/ShowPost.aspx

Final Fantasy XIII Crashing Consistently
http://forums.xbox.com/31660975/ShowPost.aspx

Final Fantasy XIII | Game Freezing
http://forums.xbox.com/31627724/ShowPost.aspx

Final Fantasy XIII | Annoying Freeze Issue?
http://www.xbox360achievements.org/forum/showthread.php?p=2890734

Xbox 360 | Final Fantasy XIII | freezing issues
http://www.gamefaqs.com/boards/genmessage.php?board=950899&topic=53897064

PS3 | Final Fantasy XIII | Warning !! PS3 old fat 40g version , Game freeze!
http://www.gamefaqs.com/boards/genmessage.php?board=928790&topic=53841505

Update: 17 March 2010

I played another 2.5 hours of Bioshock without any issues at all. My fear that FFXIII’s freezing did some lasting harm to the Xbox may be unfounded.

It’s heartening to see that the problem is getting some attention from sites like Kotaku and GamesRadar. Many of the comments to those stories are from people who aren’t experiencing the crashing. While only a small percentage of FFXIII owners are getting the freezing, it’s still quite a real and annoying problem.

Update: 17 March 2010 (Part 2)

Square Enix emailed me this:

Dear Customer,

Regarding your request for technical support. Please find your answer below.

We hope this letter answers your questions.

We apologize for the problems you are having with your SQUARE ENIX Xbox 360 game stalling. Here are some things I would recommend to clear up the problem:

*Be sure to check if there are any scratches or damage to the disc which could cause the laser to have a problem reading it.

* If you’re experiencing problems in some other area of the game, or it is inconsistent to WHERE the game is freezing, it might be something within the system. You may want to try using a cleaner for your system, which can generally be purchased at any video game retailer.

* If you are playing with your Xbox 360 laying flat, you may want to try placing it on its side and playing with it vertically.

* If none of those tips work, try the game in another Xbox 360 at that point to see if it does the same thing. Video game retailers usually have systems for demonstration purposes, and they are usually cooperative when this type of request is made.

*We do highly recommend to install this game on your HDD (which the new Xbox Dashboard update will allow). Doing so here in the office did assist in a smooth gameplay with no problems of frame-rate or graphic/loading problems.

*If you have already installed the game, please now try to uninstall the game and try playing. Another suggestion to correct this may even be to change the resolution of your display. This can be done within the Xbox 360’s display settings under “My Xbox”.

If the problem persists after that, then you may have a defective or damaged disc. Contact our customer support at http://support.na.square-enix.com and if your game is still within the 90-day warranty period you can obtain a replacement.

We hope this information has been of assistance.

Thank you for contacting the SQUARE ENIX Support Center.

I may pursue the replacement discs, but I really doubt that it will make a difference. I’ll confirm that the discs are fine on another machine this weekend. With the exception of cleaning my DVD drive with a lens cleaner, I’ve exhausted their suggestions.

This state of being not-quite-broken is pretty frustrating, and it reminds me of Yossarian’s jaundice in Catch-22.

Yossarian was in the hospital with a pain in his liver that fell just short of being jaundice. If it became jaundice they could treat it. If it didn’t become jaundice and went away they could discharge him. But this just being short of jaundice all the time confused them.

If my Xbox would just completely fail, I would replace it and be happy. But because the problem is with just one game, I keep waiting for a logical explanation and a fix.

If a representative from Microsoft or Square Enix would like my system and discs for troubleshooting, just ask.

Update: 20 March 2010

Here are a few more threads:

Loading/Freezing issue
http://finalfantasy-xiii.net/forums/showthread.php?t=11664

This game and freezing up!
http://www.xbox360achievements.org/forum/showthread.php?p=2900889

Final Fantasy XIII Freeze issues
http://www.gamespot.com/pages/forums/show_msgs.php?topic_id=27230003

Per the email from Square Enix, I uninstalled the game from the hard drive. When I tried to launch it from the disc, I got an unreadable disc error. I removed the DVD and cleaned it, but no joy.

My DVD drive is shot. When the tray closes, it makes two thumping noises and then a little whir. The disc never spins up. This affects all discs.

I rather doubt that FFXIII is to blame for this hardware failure. I acknowledge that systems wear out with use and it could be simply coincidence that my system failed after I bought FFXIII. I’m still looking for an explanation as to why the game played normally for a few hours before freezing the first time, then failed dozens of times within a few minutes of starting up, while other games continued to play for hours.

Certainly, some of the PS3 owners believe that the game is burning out their lasers, but the PS3 game is on dual-layer Blu-ray while the Xbox game is on standard DVD, so it doesn’t seem likely to me that the Xbox DVD drive is working harder to play this game than any other.

I tested the Disc 1 and my most recent save on a different console and everything played perfectly.

I’m left to wonder how much longer my system would have kept going if I hadn’t bought FFXIII. Would it have still failed on the next game purchase?

In the next few weeks, I’m going to buy an Arcade, but my lasting impression of this is that FFXIII is going to end up costing me over $260.

Update: 1 April 2010

I bought an Arcade back on March 21st, and it’s been playing FFXIII from the hard drive without any problems since. It seems that the brief flurry of attention given to the problems associated with FFXIII has died down, too.

The choice of an Arcade instead of something with a HD seems pretty savvy in light of the news that USB memory support for the Xbox 360 is coming on April 6th. So I’ve gone ahead and ordered a 16 GB stick that should look pretty slick.

As an IT guy in a good-sized law firm, I’m sometimes asked to make recommendations for anti-virus software.

For real-time protection that is always running on your computer, I like Microsoft Security Essentials.

Microsoft Security Essentials provides real-time protection for your home PC that helps guard against viruses, spyware, and other malicious software.
http://www.microsoft.com/security_essentials/default.aspx

If you don’t trust Microsoft, SUPERAntispyware has a terrible name but a good track record.

The SUPERAntiSpyware FREE Edition offers real-time blocking of threats.
http://www.superantispyware.com/

The SUPERAntiSpyware Portable Scanner can be run from a USB flash drive or CD without installlation.

The SUPERAntiSpyware Portable Scanner does not install anything on your Start Menu or Program Files and does not need to be uninstalled. Just download it and run it whenever you want.
http://www.superantispyware.com/portablescanner.html

Personally, I run Microsoft Security Essentials, and then do supplemental scans with the SUPERAntiSpyware Portable Scanner.

I’m often given copy for web sites as Word documents. As one would expect, these documents contain all sorts of symbols that should be converted to entities before they can be used in a web page.

For example, ‘smart quotes’ (curly quotes), trademark and registered symbols, em-dashes, and other symbols look great, but can cause problems if you just drop them into a page and don’t use the corresponding character encoding.

Rather than do a global find-and-replace in my HTML editor, I’ve written a few Word macros that replace these symbols.

The first macro, CleanupHTML, replaces smart quotes with straight quotes. The second macro, PrettyHTML, replaces smart quotes with the correct pretty quote, ala .

At some point, I want to extend the macro to replace accented characters, such as è, and also to wrap bold and italics in strong and em tags. Ideally, I’d also find a way of converting lists in Word to straight text wrapped in unordered list items, as lists seem to require the most cleanup when copying and pasting.

Sub CleanupHTML()
'
' CleanupHTML Macro
' Cleanup document for HTML by replacing special characters with entities.
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "&"
        .Replacement.Text = "&"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "©"
        .Replacement.Text = "©"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "®"
        .Replacement.Text = "®"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "™"
        .Replacement.Text = "™"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "--"
        .Replacement.Text = "—"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "—"
        .Replacement.Text = "—"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "–"
        .Replacement.Text = "–"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "…"
        .Replacement.Text = "..."
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "'"
        .Replacement.Text = "'"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = """"
        .Replacement.Text = """"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Sub PrettyHTML()
'
' PrettyHTML Macro
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "&"
        .Replacement.Text = "&"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "©"
        .Replacement.Text = "©"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "®"
        .Replacement.Text = "®"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "™"
        .Replacement.Text = "™"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "--"
        .Replacement.Text = "—"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "—"
        .Replacement.Text = "—"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "–"
        .Replacement.Text = "–"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "…"
        .Replacement.Text = "..."
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ChrW(8220)
        .Replacement.Text = "“"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = ChrW(8221)
        .Replacement.Text = "”"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "'"
        .Replacement.Text = "’"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "è"
        .Replacement.Text = "è"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
End Sub

Many thanks to
http://celebritycola.blogspot.com/2004/09/preserving-formatting-when-posting.html for getting me started on this.

Update 5.5.11: I’ve since written two more posts on handling issues with Word add-ins, the better one being: Programmatically re-enabling Word COM add-ins I’d recommend checking it out, too, as I’ve learned quite a bit since writing this post.

Many of the problems with Word 2007’s stability are due to third-party add-ins that are often used to add functionality to Word and to add new tabs and groups to the ribbon. If something unexpected happens in Word (it crashes, for example) while an add-in is being used, Word will flag it as problematic and will alert you to this the next time Word is launched. Depending on the severity of the problem, the add-in can be either ‘soft-disabled’ or ‘hard-disabled’. More on this a bit later.

In this post, I’ll explain how to programmatically restore add-ins after Word has disabled them. Determining what caused the problem in the first place is outside the scope of this post. However, I’ve watched Word fail to properly start up and blame this on an add-in that has worked without issue for weeks on end. What’s more, after re-loading the add-in, Word and the add-in will work fine for weeks more. So, it may not be a particular add-in is malfunctioning, but that Word’s handling of add-ins generally is flaky.

Microsoft explains the differences between Hard Disabled vs Soft Disabled in a MSDN article at: http://msdn.microsoft.com/en-us/library/ms268871(VS.80).aspx, but I’ll paraphrase here.

Hard-Disabled Add-ins

Hard-disabling occurs when the add-in causes the application (Word) to close unexpectedly. The problem was so serious that Word crashed.

Once an add-in has been ‘hard-disabled’ by Word 2007, it will appear in the Disabled Application Add-ins list. To see which add-ins have been hard-disabled, click on the Office Button | Word Options | Add-Ins, and scroll down to “Disabled Application Add-ins”.

To manually restore a hard-disabled add-in, first enable the add-in by selecting “Disabled Items” in the Manage menu, clicking Go, selecting the add-in to re-enable, and clicking the Enable button. Then load it by selecting “COM Add-Ins” in the Manage menu, clicking Go, and placing a check in the box next to the Add-In.

Each hard-disable add-in will have an entry in the DisabledItems registry key at:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency\DisabledItems

The entry name is some sort of hash/random binary value, rather than the name of the add-in. You can look at the hex of each and identify the specific add-in, but programatically re-enabling them is most easily done by deleting the entire Resiliency key. This makes it an ‘all or nothing’ situation.

Disabling adds a binary value for each addin with a name that’s randomly generated. The Resiliency key exists if there is at least one disabled item, but if you re-enable the addin then the Resiliency key and DisabledItems subkey are both deleted. So the presence of the Resiliency key serves as a general test for the existence of disabled items. You can re-enable the addin by deleting the specific binary reg value, or by removing the whole key.
http://help.lockergnome.com/office/Outlook-constantly-disabled–ftopict876175.html

Soft-Disabled Add-ins

Soft-disabling occurs when an add-in throws an unhandled exception, but the application (Word) does not unexpectedly close.

If an add-in has been ‘soft-disabled’ by Word 2007, it will NOT appear in the Disabled Application Add-ins list. It can be enabled by selecting “COM Add-Ins” in the Manage menu, clicking Go, and placing a check in the box next to the Add-In.

When you re-enable a soft-disabled add-in, Word immediately attempts to load the add-in. If the problem that initially caused Word to soft-disable the add-in has not been fixed, it will soft-disable the add-in again, and the box will not stay checked.

When an add-in has been soft-disabled, the LoadBehavior value in the registry will be changed. It seems that this value can exist in either of two locations:

HKEY_CURRENT_USER\Software\Microsoft\Office\Word\Addins\
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addins\

A LoadBehavior of 2 = unloaded (this corresponds to an unchecked box)
A LoadBehavior of 3 = loaded (this corresponds to a checked box)

Here’s more information from Microsoft on the various LoadBehavior registry entries.

Restoring disabled add-ins programmatically

Hard-disabled add-ins can be promoted to a temporarily soft-disabled status by running the following registry merge file to delete the Resiliency key:

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency]

As an example, Word can be configured to attempt to load the Acrobat PDFMaker Office COM Addin installed with Acrobat 8 Standard by running the following registry merge file to force the data on the LoadBehavior value:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addins\PDFMaker.OfficeAddin]
"LoadBehavior"=dword:00000003

By enabling the add-ins you wish to always load through the Word GUI, then exporting the Word\Addins registry keys to capture the correct LoadBehavior, and combining those keys with the instruction to delete the Resiliency key, you’ll be able to fix all of your add-in problems and restore Word to a working state with a single click.

A macro to display a message box with all currently loaded COM add-ins

You can use the following macro to display a message box with all currently loaded COM add-ins.

Sub ShowAddins()
'
' ShowAddins Macro
' Display a message box with all currently loaded COM add-ins
'
   Dim MyAddin As COMAddIn
   Dim i As Integer, msg As String

   For Each MyAddin In Application.COMAddIns
      msg = msg & MyAddin.Description & " - " & MyAddin.ProgID & vbCrLf
   Next

   MsgBox msg

End Sub

Source: Some COM add-ins are not listed in the COM Add-Ins dialog box in Word

Forcing add-ins to be disabled by Word

To test, you may be able to cause add-ins to be disabled by forcibly ending the winword.exe process while Word is loading, or after it has invoked a function from the add-in. It might require crashing Word a few times, but eventually you’ll get an error:

Microsoft Office Word
Word experienced a serious problem with the ‘[add-in name]’ add-in. If you have seen this message multiple times, you should disable this add-in and check to see if an update is available.
Do you want to disable this add-in?
[Yes] [No]

If you click Yes, the add-in will be hard-disabled and an entry will be created in

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Resiliency\DisabledItems

I’m using Windows 7, trying to transfer photos from my digital camera to my laptop for the second time, but the Import Pictures and Videos wizard won’t let me. After I connect my camera and choose ‘Import pictures and videos’ from the AutoPlay dialog box, I get a message from the Import Pictures and Videos wizard that ‘No new pictures or videos were found on this device’.

Although it would have been simple to just treat the camera as a mass storage device and browse the files in Explorer, I wanted to use the wizard to create a folder for each date. Why can’t we have a button to import the same images again and again, as many times as we want?

Disconnecting and reconnecting the device didn’t help, and deleting the picture files and the folders that contained them from my computer didn’t help, either. Obviously, something on the computer was keeping track of which images had been transferred. So, I started digging around and found this interesting hidden file in my user folder:

C:\Users\[username]\AppData\Local\Microsoft\Photo Acquisition\PreviouslyAcquired.db

I renamed PreviouslyAcquired.db to PreviouslyAcquired.db.old, then reconnected the camera and went through the wizard again, where I was able to import the pictures a second time.

As noted in the comments below, in order to see the PreviouslyAcquired.db file, you first need to turn on Show hidden files, folders, and drives in Windows’ Folder Options dialog box. To do this, open Windows Explorer, click on Organize and choose Folder and search options to open the Folder Options dialog box. Choose the View tab, then choose the Show hidden files, folders, and drives radio button under Hidden files and folders.