Archive

Archive for the ‘Office’ Category

The Case of the Three Second Delay (a.k.a What is SFTDDE?)


A while back I encountered an issue that forced me to become introduced to the DDE Launcher used by App-V (SFTDDE.)  A customer was encountering an issue where, no matter how much they tuned their terminal servers, even with pre-cached virtual applications; Office applications appeared to always have a three second delay when they double-clicked on an Office document associated with a virtualized instance of Office. Regular launches of these applications (from the shortcut) did not encounter this delay.

What is DDE?

DDE (Dynamic Data Exchange) is one of the oldest IPC (Interprocess Communication) mechanisms in Windows. Since it relies on using the Windows message layer for functionality it still works even though it has been superceded by many far superior technologies. The factor involved in this particular App-V scenario is whether DDE (Dynamic Data Exchange) has been enabled for the application. The main difference between double-clicking a document or launching the application then loading the document when DDE is enabled is that SFTDDE.EXE is used as a DDE launcher instead of SFTTRAY.EXE.

Investigating the customer’s issue found that there was indeed a three-second delay and a Process Monitor trace revealed it:

Double-clicking and triggering the SFTDDE.EXE process:

0              7:47:03.3683129 AM        sftdde.exe          848         Process Start                      SUCCESS              Parent PID: 2844

Then the SFTTRAY Start:

3007       7:47:06.1107902 AM        sfttray.exe          3408       Process Start                      SUCCESS              Parent PID: 848

By default in App-V when sequencing Office, DDE is enabled. When setting up a file type association that requires DDE support, the client uses a DDE Launcher command. It pulls the command based on the value specified in the following registry location:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\UserInterface

Value: DDELaunchCommand

The default value is “C:\Program Files\Microsoft Application Virtualization Client\sftdde.exe” “<APP>” <DDE>

If present, the strings <APP> and <DDE> will be replaced with the app’s name and version and the DDE app name, respectively.

When virtualizing Office with App-V, the sequencer enables DDE functionality by using the SFTDDE launcher for each application. One important item to consider is that when double-clicking on a file where the association is with SFTDDE rather than SFTTRAY, App-V will act as a DDE client and sends DDE message broadcast to all open windows. If an instance of word is open, then it will reply back and that instance of WinWord will open the file – regardless of the version of the winword.exe process running.  If not, it will trigger the SFTRAY command to launch.

Is this why my Custom File Type Associations Don’t Work Sometimes?

Yes. This explains why in some cases you may have a local or virtualized instance of Microsoft Word 2003 running side by side with Microsoft Word 2010 running local or virtualized. Let’s say you have the .DOC extension associated with Microsoft Word 2003 and the .DOCX extension is associated with Microsoft Word 2010. If Microsoft Word 2010 is currently running and you double-click on .DOC file, it will still open in the existing Winword.exe process (which in this case would be Microsoft Word 2010.)

Why sometimes a delay?

The delay occurs when there is one or more hung top-level windows on the system. When using ShellExecute or ShellExecuteEx to open a document in its associated application and the file is registered to use DDE, the shell will first try to establish a DDE conversation with a running instance of the application by broadcasting a DDE initiation message to all top-level windows.

The DDE initiation message is broadcasted by calling SendMessageTimeout with a 3 second timeout. When there is a hung top-level window when the DDE message is sent, SendMessageTimeout will be blocked until the message is handled by the hung window or the timeout expires. Once the timeout expires, the shell will launch the application associated with the document.

Should I remove this?

For Office, it would be a bad idea. Every trigger of a document double-click will spawn an SFTTRAY launch of the Office application chosen. I have had many customers remove the DDE section, and have %1 as the only option. The DDE message broadcast does not happen and a new instance of the application opens the file. Eventually they restore the functionality and live with the DDE delay.

Steve Thomas

App-V: Unable to click “Join Meeting” from Virtualized Outlook when Live Meeting 2007 is Installed Locally


If you have virtualized MS Office and have decided to use a local installation of Live Meeting, you may run into this issue. When a user attempts to click on a Live Meeting link (click on “Join Meeting” link) within a virtualized Office application (primarily Outlook) to join the Live Meeting session, they may get the following error:

Failed to initialize critical resources!

Make sure you have all languages installed.

This was caused by the Office application process not having Read permissions as part of the sequencing to the following directory:

 %PROGRAMFILES%\Microsoft Office\Live Meeting 8\Console

If Live Meeting is not going to be included with the package, it will need to at least be installed on the sequencing machine in order to correct this in advance otherwise, you will need to enable the <LOCAL_INTERACTION_ALLOWED> tag in the OSD and ensure the directory “Live meeting” does not exist.

App-V: Important App-V/Softgrid KB’s and Documentation Links


Office 2010 Sequencing

http://support.microsoft.com/kb/983462

Office 2007 Sequencing

http://support.microsoft.com/kb/939796

Problems Sequencing Office 2007

http://support.microsoft.com/kb/931914

Information about how to use Office 2010 suites and programs on a computer that is running another version of Office

http://support.microsoft.com/kb/2121447

Issues Sequencing Office 2010

http://support.microsoft.com/kb/2481474

Server Command Line Installers Options

http://support.microsoft.com/kb/2384955

Troubleshooting w/ Process Monitor

http://support.microsoft.com/kb/939896

Introduction To Softgrid Networking

http://support.microsoft.com/kb/932017

App-V White Paper Portal

http://technet.microsoft.com/en-us/appvirtualization/cc843994.aspx

App-V Technet Documentation

http://technet.microsoft.com/en-us/library/cc843848.aspx

App-V Blog

http://blogs.technet.com/appv

Top 5 App-V SQL KBs:

25119 Upgrade Issue

http://support.microsoft.com/kb/976641

Moving 4.1 Databases

http://support.microsoft.com/kb/932136

App-V Server fails to start when SQL is on the same machine

http://support.microsoft.com/kb/959459

Concurrent Licenses

http://support.microsoft.com/kb/2447513

MWS Administrative Issue

http://support.microsoft.com/kb/930564

App-V: Here’s an example of “don’t do that – but if you must, here’s how.”


Here’s an example of “don’t do that – but if you must, here’s how.” Access 97 and the Access 97 run-time module is no longer supported by Microsoft. Therefore, custom applications that use the Access 97 run-time module are also technically unsupported. Virtualizing it with App-V does not change that fact although the isolation has led to some unintended positive consequences. Always remember that it is still a risk to use App-V in this manner as future releases and patches cannot be guaranteed to be regression free in terms of how it will affect an unsupported technology.

However, if you insist on sequencing an application that uses it, the following can be done to allow you to sequence Access 97 Run-time modules in versions 4.5 or later:

First, the registry key:

HKEY_CLASSES_ROOT\Licenses\8CC49940-3146-11CF-97A1-00AA00424A9F will be missing. This will result in a license error.

To rectify this, add the following registry entry

  • HKEY_CLASSES_ROOT\Licenses\8CC49940-3146-11CF-97A1-00AA00424A9F
  • [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW]
    “DefaultSeparateVDM”=”yes”

This must be done and rebooted on the sequencer prior to the start of sequencing.

Install to a Mount Drive during sequencing

Upon completion of the installation, DO NOT STOP MONITORING.

Open a command prompt rename %WINDIR%\fonts\hatten.ttf to hatten.xxx

Launch Application again.

Click Stop Monitoring.

Categories: App-V, Office Tags: , , , ,

App-V: Description of Feature Flags When Configuring the Office 2010 Deployment Kit for App-V

April 4, 2011 2 comments

For the Feature Flags that come with the Office Deployment Kit, customers may have questions as to what feature options under ADDLOCAL and ADDDEFAULT align with the specific feature.When you deploy to the sequencer, we are determining what elements will be bypassed and leveraged by the handlers during the sequencing process

32-bit:

ADDLOCAL=Click2runMapi,Click2runOWSSupp,Click2runWDS,OSpp,OSpp_Core

64-bit:

ADDLOCAL=Click2runMapi,Click2runOWSSupp,Click2runWDS,OSpp,OSpp_Core,OSppWoW64

The options here:

  • Click2runMapi: For MAPI Overrides 
  • Click2runOWSSupp: Microsoft SharePoint Client Support 
  • Click2runWDS: Search MAPI Protocol Handler and Host Search MAPI Protocol Handler Manager Overrides. This allows for Fast Search in Outlook 
  • OSpp: Microsoft KMS Client. 
  • OSpp_Core: Office Software Protection Platform
  • OSppWoW64: Microsoft KMS Client for x64.

Then on the client, we deploy the handlers which place in the host-side handlers. This will expose the proxies.

ADDDEFAULT=Click2runOneNoteProxy,Click2runOutlookProxies,Click2runWDSProxy,Click2runOWSSuppProxies

  • Click2runOneNoteProxy: Send to OneNote printer Proxy
  • Click2runOutlookProxies: All MAPI and Mail control panel applet 
  • Click2runWDSProxy: Search Proxy and Office Document indexing 
  • Click2runOWSSuppProxies: Sharepoint Client

Docs.com – Create Office Docs and share docs on all social networks!

September 25, 2010 Leave a comment

Now you can discover, create, and share Microsoft Office documents with your friends on social networks such as Windows Live and Facebook. Built using Microsoft Office 2010 and the OfficeWebApp engine – Docs.com provides the best possible document service for your favorite social networking environment. Seamless integration with LinkedIn, Windows Live, and Facebook means that the service is all about sharing your documents. Finally docs can be friendly too!
 

Make Your Own Office help Videos!


You can install the Community Clips Add-on and record your won Help/HowTo Videos for Microsoft Office.
 
All it requires is downloading the plugin and have a Windows Live account.
 
You can then videos to, and to rate and comment on existing content in Community Clips.
 
Community Clips from Microsoft Office Labs:
 
 
Instructions and Download:
 

http://communityclips.officelabs.com/download.aspx

 
Categories: Office