Welcome to MSDN Blogs Sign in | Join | Help

New Duet 1.5 Request Handler Configuration Option

Depending on your Duet Scenarios, you may experience issues with the size of your Duet Request Handler's mailbox size, such as exceeding the limits setup by your Exchange Administrator.  The Request Handler account is responsible for sending the messages from Duet to your clients.  The Reporting and Analytics scenario is a good example where you could see this issue very quickly.  If your Duet system is sending out an average of 200 reports that are two megabytes in size during a day to clients, the mailbox can exceed 400 MB.  If your Exchange Administrator has setup limits on the mailbox of 250 megabytes, your Request Handler may no longer be able to send out reports.  To avoid this issue, the Request Handler now offers a configuration option so that it will not store the sent items.

If you have implemented the Duet 1.5 Service Pack 1 (http://support.microsoft.com/?kbid=961122) or later for the Request Handler Service, you now have the option to not keep the sent items in the Request Handler's mailbox.  Saving items in the sent items folder is the default option for the Request Handler, so you must manually perform the steps below after the installation to avoid saving items.  To set this option:

  • Edit the web.config file in the RequestHandler virtual directory with Notepad (typically on the Duet Server in C:\InetPub\RequestHandlerRoot\RequestHandler)
  • In the web.config file, look for the lines:
    <!-- Set SaveInSentItems to false if you don't want to save sent control messages in the mailbox-->
    <add key="SaveInSentItems" value="true"/>
  • Set the "SaveInSentItems" value to "False"
  • Save the file
  • Restart IIS by opening a command prompt and executing "iisreset /noforce"

The Duet Request Handler should no longer be saving sent items. 

Original post: http://blogs.technet.com/duet/archive/2009/06/02/new-duet-1-5-request-handler-configuration-option.aspx

Posted by JeffGa | 0 Comments

Duet 1.5 Request Handler changes in the November 2009 hotfix package

In an Exchange FE/BE configuration the Front End server does not have any mailbox stores on it and generally these servers only have Basic Authentication with SSL enabled. This poses a problem for the Duet 1.5 Request Handler and how it uses WebDAV to communicate to the Exchange server, since it’s unable to authenticate using Basic authentication.  To work around this in the pre-Duet 1.5 SP3 HF2 Request Handler, we usually changed the Request Handler web.config file to point to the backend server where the actual mailboxes reside along with having WebDAV and Integrated Authentication enabled.

Currently, as of Duet 1.5 SP3, the only two authentication methods that are supported are:

  • Forms Based Authentication
  • Integrated Authentication

The Good news

Starting with the Duet 1.5 SP3 November 2009 hotfix, there are two additional pieces of functionality that have been added to the Duet Request Handler to help ease the pain of these types of issues.  The Request Handler runtime will now support Basic Authentication and also adds support for Exchange Web Services(EWS).

Basic Authentication information:

To use the new ‘Basic’ authentication in SP3 HF2 you need to have the following set.  Here’s what the web.config now looks like to allow this authentication:

    <!— Authentication types:
    WindowsAuthentication, BasicAuthentication, FormBasedAuthentication
    -->

    <add key="AuthScheme" value="BasicAuthentication"/>

 

Exchange Web Service information:

Exchange Web Services are available starting with Exchange 2007.  They provide another way of programmatically accessing the Exchange server.  To use the new EWS functionality in the 1.5 SP3 HF2 Request Handler, the setup wizard will guide you through the setup process, provided you note the following things need to be set similar to the following:

image

 

 

 

 

 

 

 

 

 

 

 

 

 

 

After the install wizard runs, the web.config (located in the <Request Handler install path>\RequestHandlerRoot\RequestHandler folder) will have new entries to allow configuration of the Exchange Web Services logic :

<add key="ServiceType" value="EWS"/>

            <add key="Exchange Server" value="ExchangeServer"/>

            <add key="ExchangeServiceBinding" value="https://ExchangeServer/ews/exchange.asmx"/>

After Office 2007 Service Pack 2 is installed Duet may cause a pop-up when opening a Sharepoint email item

After installed Office 2007 Service Pack 2, if a user attempts to open a Sharepoint item in Outlook, the user may get a dialog to send data to Microsoft.  This pop-up indicates that Duet has failed to work with the item, and we allow the user to send us the data associated with the error.  We have fixed this behavior in KB 978633.  This KB is a hotfix for the Duet client to properly handle the Sharepoint Items, or SharingItems , like a document change notification email.

Posted by JamesCaudill | 0 Comments
Filed under: , ,

What is this Exchange sink used for with Duet 1.5 and do I really need it?

You may have noticed the following folder on the Duet 1.5 install media, under the “Microsoft | IT Administrator Files | Exchange Event Sink”.  This folder contains the bits to install a Exchange Event Sink into your infrastructure’s Exchange server.  The Exchange Event Sink documentation listed in our readme is to make sure customers are aware of potential security issues that can arise with Duet.  Customers may be apprehensive about such a massive intervention to their existing productive Exchange infrastructure.  This post will help explain the need for this component.

Details / explanation of the Duet 1.5 Exchange event sink

The Duet 1.5 install guide contains a section on how to register / install the “Exchange Event Sink” on all exchange servers where Duet users will receive new or forwarded control messages.  Please also be aware that this solution does require registering of DLL’s on the Exchange Server to provide this functionality.

So why would we ask customers to install this into their environment?  Its security of course.  First, lets think about a scenario where a user accidently forwards a control message.  Control Messages are how we move Duet information from the backend to the client.  These messages are moved to a hidden folder on the client by a rule on the Exchange Server.  Since the control message can have business data in an unencrypted form, it might lead to accidental information disclosure if the user forwards that control message. In practice, this is not a very common scenario because control messages are, and should not not visible to the user, and thus the user should be able to forward a control messages. But it is indeed possible for these messages to show up in the Inbox, in rare occasions.

But if this does occur, and the user does forward such a message, Duet’s implementation of a Exchange Event Sink will go ahead and strip off the business data from the message so that this data is not exposed to a potential outside recipient.  Thus keeping any personal data from being exposed. 

Please note this Exchange event sink is only for solving the particular issue mentioned and has *no* impact on Duet functionality.

Duet Client Installation Fails Due to .NET Installation/Upgrade Failure

Problem:

Attempting to install the Duet Client results in the following .NET installation Error in the %temp%\dd_dotnetfx20error.txt log file

“Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603”

 

Cause:

The .NET framework installation has gotten into an unmanageable state (e.g. can’t be upgraded, repaired and/or uninstalled)

 

Resolution:

You will need to resolve this before continuing the duet installation. Please use the “.NET Framework Cleanup Tool” to cleanup the previous .NET installation. The tool along with detailed instruction on using it can be found at the following blog post.

http://blogs.msdn.com/astebner/pages/8904493.aspx

Posted by rsheriff | 0 Comments

Duet client unable to connect to the Read Service via NTLM, but works with Basic Authentication

We had an issue where a Duet Client would fail to authenticate to the Duet Read Service with NTLM, but it would work if we enabled Basic Authentication.  In looking at the IIS logs, we could clearly see the 401 error.  However, the error code in the logs did not lead to a clear explanation if what is wrong.  In looking more closely with a Network Monitor trace, we could see the packet exchanges between the client and the server,  and we could see the client send the NTLM authentication as expected.  We did some checking around but did not find a setting that looked incorrect.  To further diagnose this problem we used the Authentication and Access Diagnostics toolkit.  The toolkit quickly identified the problem.  Here is a screen shot:

 

image

 

From this output you can see that if the “AllowKeepAlive” is set to false on the virtual directory, this will cause NTLM to fail.  This setting is required for NTLM to work properly.  To change this back, modify this setting in the Internet Information (IIS) Manager:

image

 

If you are a command line person, you can use the following command to set the property also:

cscript adsutil.vbs set w3svc/2/AllowKeepAlive true

The “2” above is the number of the website.  Make sure you pick the correct site in IIS before running that command.

 

Once this is changed, NTLM connections should work properly, and the Duet client should once again connect properly.

Posted by JamesCaudill | 0 Comments

The order of Duet buttons on Outlook items may change after applying updates

If you have multiple Duet scenarios installed that each add buttons to the same item in Outlook, the order in which the Duet buttons appear on the Outlook items may change after installing Duet updates. For example, both the Time Reporting (TIMA) and Leave Management (LEMA) scenarios add buttons to Appointment items in Outlook and you may be accustomed to seeing the TIMA buttons appear first on Outlook Appointments.  After installing updates for Duet the LEMA buttons may now appear before the TIMA buttons.

The issue here is that Duet does not have a defined order when adding the buttons for different scenarios to the Outlook command bars. The result is that the order in which the buttons appear is currently based on the order in which the Duet updates (.SCA files) are installed on the server. If you require the buttons to appear in a specific order then you must apply the .SCA files on the server in that order. If you have already installed the .SCA files you can remove and redeploy a specific .SCA file to have it loaded last and therefore make its buttons appear last on the Outlook toolbar.

TIMA: 15 min Time Reporting only tracked as 5 min

I recently worked on an issue where a customer was using TIMA and trying to record an appointment with a 15 min duration but it would end up getting tracked as 5 mins. After doing some testing on the machine I realized that the behavior was that the number 1 was dropped if it was the leading character of the duration. So, if the duration was 1 min nothing happened. If it was 2 through 9 it was tracked correctly. If it was 10 through 19 it was tracked as 0 through 9. And 20 through 99 was tracked correctly. Two hours (120 mins) was tracked as 20 mins.

After debugging for quite a while I discovered that the problem was that the Windows regional settings on the machine had an incorrect entry defined for the Positive Sign for numbers.  Normally the Positive Sign is "+" and the Negative Sign is "-".  For this user the Positive Sign had been set to "1".  So, whenever CultureInformation was applied to numeric operations any leading 1 would be dropped because it was interpreted as the character to represent positive values (i.e. +). This issue had nothing directly to do with the Duet code - Duet was just using the .NET framework to convert an Integer to a String and getting back the wrong value.

The following registry key contains the value used for the positive sign and this issue can be easily reproduced on any machine by changing the value to a 1.

HKEY_CURRENT_USER\Control Panel\International\sPositiveSign

The following article discusses another issue that can happen if this sPositiveSign value is not valid and also discusses how to reset the values.

KB942460 System.FormatException occurs when attempting to convert a numeric string to a numeric data type

Resolution

Once the sPositiveSign registry value was reset to the correct value of "+" everything worked again.

Posted by waltwa | 0 Comments
Filed under: , ,

Duet install of SQL Express fails if MSXML 6 Service Pack 2 (KB954459) is installed

Duet installation may fail if MSXML 6 Service Pack 2 (KB954459) is already installed. For a silent Duet install you should see an exit code of 2 in the setup log which maps to SQLINSTALLFAILURE and indicates that Duet was not able to install SQL Server 2005 Express Edition. If you try to install manually you will see an error when SQL Express tries to install MSXML6. See the following image:

image

 

You may also get the following error dialog:

Installation of MSXML 6.0 Parser (KB933579) failed because a higher version already exists on the machine. To proceed, uninstall the higher version and then run MSXML 6.0 Parser (KB933579) Setup again.

 Installation of MSXML 6.0 Parser (KB933579) failed because a higher version already exists on the machine. To proceed, uninstall the higher version and then run MSXML 6.0 Parser (KB933579) Setup again.

 

This SQL/MSXML install issue is documented in the following article:

KB968749 SQL Server 2005 setup fails when MSXML Core Services 6.0 Service Pack 2 has already been installed

 

 

Workaround

The solution is to uninstall KB954459 prior to installing Duet - or more specifically prior to installing SQL Server 2005 Express Edition. But, in most cases trying to uninstall KB954459 via Add/Remove programs will fail. The resolution is to run the Windows Installer Cleanup Utility (MSIZAP.exe) to remove KB954459 from the Windows Installer database. This can be done manually on each machine as described in KB968749 or it can be done by calling MsiZap.exe from a command line and passing in the product code for KB954459 which is {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}.

Here is the Msizap command line to remove MSXML6 SP2 KB954459

"<PATH>\MsiZap.exe" T! {1A528690-6A2D-4BC5-B143-8C4AE8D19D96}

Posted by waltwa | 0 Comments

Duet is not supported on a computer that has Exchange System Manager (ESM) installed

Duet uses Extended MAPI for some functionality and therefore requires that the computer be in a supported MAPI configuration. Having Exchange System Manager (ESM) installed on an Outlook client is not a supported configuration and generally results in MAPI call failures.

Microsoft does not support installing Exchange Server components and Outlook on the same computer

 

Symptoms

In the Microsoft.OBA.SystemTray.Duet.Log file located in the user's temp directory you may see the following entries added each time you launch the Duet Utility.

"12/02/2009","10:40:52","Trace","Information","Deployment","","","","","Initialize","Microsoft.OBA.SystemTray.exe","2336","DOMAIN\USER","MACHINE","Trying to get the profile name from registry",""
"12/02/2009","10:41:00","Error","Severe","Duet Notification Application","4112","","","","Initialize","Microsoft.OBA.SystemTray.exe","2336","DOMAIN\USER","MACHINE","Duet has determined that Outlook is not configured to work with Exchange Server. Open Outlook and create an Exchange profile, and then  run Duet Utility.","
   at Microsoft.OBA.SystemTray.SystemTrayApplicationContext.ShowProfileSelectionDialog()
   at Microsoft.OBA.SystemTray.SystemTrayApplicationContext.MapiLogon()
   at Microsoft.OBA.SystemTray.SystemTrayApplicationContext.OnSTAStart()
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()"

 

Solution

If you want to install Duet on a computer that currently has both Outlook and Exchange System Manager installed you will need to remove Exchange System Manager and get Outlook's MAPI files back onto the system.

Here are the steps to get the correct version of MAPI on the computer:

1. Remove ESM (In Add/Remove Programs choose Change on the top level Exchange component and Remove for the ESM tools.)

2. Remove Outlook (not all of Office, just Outlook)

3. In C:\Windows\System32 rename MAPI32.DLL to MAPI32.OLD and if MAPI32x.DLL exists rename it to MAPI32x.OLD (do not rename mapistub.dll)

4. Reinstall Outlook

5. Run C:\Windows\System32\fixmapi.exe   (which basically copies mapistub.dll to mapi32.dll)

Duet 1.5 SP3 - Users may be prompted to select an Outlook profile even if the Profile Selection policy has been set

Duet provides a group policy setting named "Use Outlook settings for profile selection", which is designed to automatically select the default Outlook profile during Duet deployment if more than one profile exists. Duet deployment occurs the first time the Duet Utility runs after Duet has been installed on a machine. This policy setting sets the registry key:

HKCU\ Software\Policies\Microsoft\InformationBridgeFramework\Engine\Execution\UseDefaultProfile  REG_DWORD = 1

But, there is a bug in the current logic in SP3 that prevents this from working on many machines.  This issue will be fixed in the next hotfix or service pack to be released which should be available at the end of the month or beginning of November.

The problem is that Duet relies on a registry key, PickLogonProfile, that only exists on machines where someone has manually gone into Control Panel --> Mail --> Show Profiles, and changed the option to "Prompt for a profile to be used". Once changed the PickLogonProfile registry key gets created and is set to 1. Even if the control panel setting is changed back the PickLogonProfile key will remain - but it will get set to a value of 0.

This is the dialog from the Control Panel --> Mail --> Show Profiles

image

The registry key being set is:

HKEY_CURRENT_USER\Software\Microsoft\Exchange\Client\Options\PickLogonProfile

REG_SZ

1 = "Prompt for a profile to be used"

0 = "Always use this profile"

Doesn't Exist = "Always use this profile"

The reason that the UseDefaultProfile setting in Duet fails to pick the default profile is that Duet uses the PickLogonProfile registry key in the logic to determine if Duet should prompt for a profile. If users have Outlook configured to prompt for a profile every time they start Outlook then it also makes sense for Duet to prompt. But, Duet incorrectly assumes the PickLogonProfile registry key will exist on all machines when in fact it only exists on machines where the setting has been manually configured at some point. If PickLogonProfile doesn't exist Duet falls back to prompting the user instead.

Workaround

If a workaround is needed before the next Duet hotfix is available, you can rollout the PickLogonProfile key to users if it doesn't already exist. This means doing a check to see if it is already configured with a value of 1. If it does exist, then leave it alone since we assume that a user has turned on this setting because they want to be prompted for a profile. If it does not exist or does not have a value of 1 then set it to 0.  Once the PickLogonProfile key has been created with a value of 0 the Duet policy setting, UseDefaultProfile, should work without users being prompted to pick a profile.

Posted by waltwa | 0 Comments

Duet Upgrade 1.5 SP2 to SP3 fails on non English clients

The Problem

When upgrading from Duet 1.5 SP2 to SP3.  The client executing the setup process fails with error message

"Duet setup completed with error.  Error Code - -1." during the step of "Uninstalling previous versions of Duet".                                                                     

The installation runs correctly on other non-English clients when SP2 is uninstalled prior to the SP3 reinstallation attempt.

Cause

With the SP3 setup, there are issues with the localized setup edbs, where the wrong uninstall command line is embedded within it.

Setup.exe uses the following resource string to uninstall Duet SP2 Product using the command line (“/x {ABC0750B……..”).

Due to incorrect translation, localized setup.exe is trying to use (“/x {0FE1229D-……….” ) which is failing and causing uninstall failure at the time of upgrade from SP2 -> SP3 (Localized).

Workaround

The localized setup.exe can be run in quiet mode (Setup.exe /q) to upgrade from SP2 to SP3.  The quiet mode uninstall is correctly translated, so the upgrade will work successfully.

Status

This is an issue with the localization of the setup bits and is currently slated to be addressed in Duet 1.5 SP4

Posted by JeffGa | 0 Comments
Filed under: , , ,

Troubleshooting Duet client install errors

When attempting to install the Duet client to user in an automated fashion, the install may fail with an error.  The error may seem cryptic, but we have a document on TechNet that can help explain what piece may have failed.  For instance here is a excerpt from a setup log that failed:

 

9/24/2009 : 8:47:28 AM : I:    Invoking Duet 1.5 SP3 Install
9/24/2009 : 8:47:28 AM : I:    Executing following command
C:\Duet\setup.exe ACCEPT_EULA=YES REBOOT=ReallySuppress READSERVICE_URL=https://contoso.com:8020/DuetReadService.asmx /l*v c:\duet_SetupLog.log /qb!-
9/24/2009 : 8:50:47 AM : I:    Unknown Error. Result = 2. Please Check Installer Log for more information
9/24/2009 : 8:50:47 AM : E:    InstallDuet    Duet Installation Failed - error code: 2
9/24/2009 : 8:50:47 AM : E:    InstallDuet    Duet Client Install validation failed
9/24/2009 : 8:50:47 AM : E:    install    Installation/verification failure, see detailed errors

 

If you navigate to http://technet.microsoft.com/en-us/library/cc983797.aspx you will see the following chart:

 

<snip>

/InstallPreReq (or any other install options) – Returns 0 on Success, non-zero values specify the stage at which installation failed.

  • UNSUPPORTED64BIT -1000

  • OFFICENOTINSTALLED 1

  • SQLINSTALLFAILURE 2

  • VSTOINSTALLFAILURE 4

  • DOTNETINSTALLFAILURE 8

  • OWC11INSTALLFAILURE 160

  • </snip>

     

    From this you can see that error 2 indicates that there was a problem with the SQL client installation.  With this information, you can look at other setup logs to figure out why the SQL client failed to install.

  • Posted by JamesCaudill | 0 Comments
    More Posts Next page »
     
    Page view tracker