Test Automation Tips: “User Name” dialog after new install of Word (Christin Boyd, Bill Robertson)

We have a team of developers who focus entirely on writing test automation programs for the purpose of covering the huge matrix of test cases that Visual Studio requires.  We often configure new installs of Office and our automated tests need to deal with the special things that Office products do when you first run them after a new install.  For example, when you first run Microsoft Word after a new install, it prompts you to enter your name and initials in a dialog that looks like this: Our talented SDET’s (Software Development Engineer in Test) use the following function in their automated tests to suppress this dialog: using System.IO; using System.Diagnostics; public static bool AddOffice12UserInfo() { bool passed = false ; string [] commands = new string [5]; commands[0] = @"add HKCUSoftwareMicrosoftOffice12.0Common /v UserData /t REG_DWORD /d 1 /f" ; commands[1] = @"add HKCUSoftwareMicrosoftOfficeCommonUserInfo /v Company /t REG_SZ /d Microsoft /f" ; commands[2] = @"add HKCUSoftwareMicrosoftOfficeCommonUserInfo /v UserName /t REG_SZ /d TestRun /f" ; commands[3] = @"add HKCUSoftwareMicrosoftOfficeCommonUserInfo /v UserInitials /t REG_SZ /d t /f" ; commands[4] = @"add HKCUSoftwareMicrosoftOffice12.0CommonGeneral /v ShownOptIn /t REG_DWORD /d 00000001 /f" ; for ( int i = 0; i < commands.Length; i++) { bool temp = StartREG(commands[i]); if (!temp) { return false ; } } passed = true ; return passed; } public static bool StartREG( string arguments) { bool passed = false ; int exitcode = -100; try { string localpath = Path.Combine(System.Environment.GetEnvironmentVariable( "SYSTEMROOT" ), "system32" ); System.Diagnostics.Process myProcess = new System.Diagnostics.Process(); myProcess.EnableRaisingEvents = false ; myProcess.StartInfo.FileName = Path.Combine(localpath, "reg.exe" ); myProcess.StartInfo.Arguments = arguments; myProcess.StartInfo.UseShellExecute = false ; myProcess.Start(); myProcess.WaitForExit(); exitcode = myProcess.ExitCode; if (exitcode == 0) { passed = true ; } else { Debug.WriteLine( "reg exit code is::" + myProcess.ExitCode.ToString()); } } catch (Exception ex) { Debug.Fail(ex.Message, ex.StackTrace); } return passed; } Let me know if these Test Automation samples are useful and we will try to publish more of these.

The rest is here:
Test Automation Tips: “User Name” dialog after new install of Word (Christin Boyd, Bill Robertson)

Sample: Northwind Office Business Application

Learn how to expose line-of-business data using ADO.NET Data Services as well as interact with it in Outlook, Word, Excel and SharePoint 2007.

Here is the original:
Sample: Northwind Office Business Application

Download the Open XML Format SDK 2.0 (CTP2)

This download provides strongly typed part and content classes for use with Open XML documents. The April 2009 CTP release adds support for the validation of Open XML documents.

Continued here: 
Download the Open XML Format SDK 2.0 (CTP2)

Creating a Text-to-speech add-in for Microsoft Word 2007 with Visual Studio 2008

Visual Studio 2008 includes tools for Office that allow developers to build custom components, such as add-ins, for Microsoft Office System applications writing managed code. See how you can create a custom task pane for Microsoft Word 2007 and how to integrate Text-to-Speech capabilities provided by .NET Framework.

Original post: 
Creating a Text-to-speech add-in for Microsoft Word 2007 with Visual Studio 2008