Video Interview: Mary Lee on Deploying Multiple Office Solutions (Kathleen McGrath)

Mary Lee recently posted a blog entry that describes Deploying Multiple Office Solutions in a Single Installer , complete with graphics to help you visualize the process. I recently interviewed Mary to learn more about this topic, and to have her give a demonstration of some of the tasks described in this post.

Original post:
Video Interview: Mary Lee on Deploying Multiple Office Solutions (Kathleen McGrath)

Use a path that resolves anywhere your VSTO solution could be deployed (Christin Boyd)

One of the VSTO MVPs pointed out that in some cases his customers were unable to resolve UNC paths consistently.  When he investigated further, he found that some branch offices of an enterprise were unable to resolve the UNC path ( \myservermyvstoappsinstallpath ) because of the way they setup their network infrastructure.  The only workaround he could find was to use a fully qualified web URL instead of a UNC path.  The resolution was to create a web server internal to the corporation which is still accessible by people in the branch office.  The other option would be to negotiate with the IT staff to change the way the branch office resolves server names, but apparently that was not an option.

Go here to read the rest:
Use a path that resolves anywhere your VSTO solution could be deployed (Christin Boyd)

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)

Ich bin ein VSTO

I hope I didn’t say “I am a doughnut.”  For native German speakers, you may already know about Lars Keller, a recent recipient of the Visual Studio MVP Award .  When the localized Help files and documentation aren’t enough, it helps to read technical content in your own language.  Lars writes a developer blog with quite a few Office development entries:    Lars Keller …inspired by .NET All about .NET, VSTS, VSTO and more   Lars also co-founded an aggregation of many German language blogs and event announcements about Visual Studio Tools for Office: VSTO Taskforce Alles zum Thema Visual Studio Tools for Office   You can find more non-English content written and aggregated by two other VSTO  MVPs, Ryosuke Uemoto and Pablo Pelaez Aller.  You can find a Japanese blog on VSTO , a Japanese blog on VSTO and other Developer topics , and a Spanish blog on VSTO .   If you know of other non-English web sites with great Office development content, then please leave a comment. -Christin Boyd, Program Manager, Visual Studio

Original post: 
Ich bin ein VSTO

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