Error on Loading IAD

Aug 27, 2010 at 12:58 PM
Edited Aug 27, 2010 at 1:41 PM

Hi everybody!

Some desktop´s that i install the IAD i recive the following error:

27/8/2010 09:27:18: CCA: Unable to Load DLL 'windowsaccessbridge.dll': Could not find the specified module. (Exception de HRESULT: 0x8007007E)

The machine configuration:

Windows XP SP3

.Net Framework 2.0 SP2

.Net Framework 3.0 SP3

.Net FrameWork 3.5 SP1

 

Below the log information

27/8/2010 09:27:18: CCA: Agentdesktop starting...
27/8/2010 09:27:18: CCA: Unable to Load DLL 'windowsaccessbridge.dll': Could not find the specified module. (Exception de HRESULT: 0x8007007E)
27/8/2010 09:27:23: CCA: Sessions.AddSession: Adding new session: ''
27/8/2010 09:27:23: CCA: Sessions.SetActiveSession: Switching to session: ''
27/8/2010 09:27:23: ApplicationHost: ApplicationHost: Loading app=Session Explorer type=HostedControl
27/8/2010 09:27:23: ApplicationHost: ApplicationHost: Loading app=Customer Search type=HostedControl
27/8/2010 09:27:23: ApplicationHost: ApplicationHost: Loading app=Current Session Viewer type=HostedControl
27/8/2010 09:27:23: ApplicationHost: ApplicationHost: Loading app=Workflow Explorer type=HostedControl
27/8/2010 09:27:23: ApplicationHost: ApplicationHost: Loading app=Workflow Manager type=HostedControl
27/8/2010 09:27:24: ApplicationHost: ApplicationHost: Loading app=ContratanteBeneficiario type=WebHosted
27/8/2010 09:27:24: ApplicationHost: ApplicationHost: Loading app=CRM type=WebHosted
27/8/2010 09:27:24: ApplicationHost: ApplicationHost: Loading app=Ocorrência type=WebHosted
27/8/2010 09:27:24: ApplicationHost: ApplicationHost: Loading app=GPEMS type=ExternalHosted
27/8/2010 09:27:25: CCA: DESKTOP_ERR_FATAL_ERROR:A possibly fatal error has occurred.  The application may now exit.
Microsoft.Practices.CompositeUI.EventBroker.EventTopicException: One or more exceptions occurred while firing the topic 'topic://RequestDefaultAction'
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.CallSubscriptionHandlers(Object sender, EventArgs e, EventTopicFireDelegate[] handlers)
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.Fire(Object sender, EventArgs e, WorkItem workItem, PublicationScope scope)
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.Fire(Publication publication, Object sender, EventArgs e)
   em Microsoft.Practices.CompositeUI.EventBroker.Publication.PublicationHandler(Object sender, EventArgs e)
   em Microsoft.Uii.Csr.ApplicationHost.ExecuteDefaultActions(Boolean taggedApplicationsOnly)
   em Microsoft.Uii.Csr.ApplicationHost.ExecuteDefaultActions()
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.SetContext(CustomerEntity customer, IContextManager ctxMgr)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartNewSession(AgentDesktopSession session, String sessionName, CustomerEntity customer, Guid callID, IContextManager CtxMgr)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.AddSession(CustomerEntity customer, Guid callID)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartHostedApplications()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.LoadNonHostedApplications(IApplicationService applicationService)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.Login()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.GetOptions()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.LoadDesktop()
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartDesktopLoad()
   em Microsoft.Uii.Desktop.UI.Wpf.WpfDesktop.WpfRootDesktopForm_Loaded(Object sender, RoutedEventArgs e)
   em System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   em System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   em System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   em System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   em System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   em System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   em MS.Internal.LoadedOrUnloadedOperation.DoWork()
   em System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   em System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   em System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   em System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
27/8/2010 09:27:25: CCA: Sessions.CloseSession: Closing session: ''
27/8/2010 09:27:25: CCA: DESKTOP_ERR_FATAL_ERROR:A possibly fatal error has occurred.  The application may now exit.
Microsoft.Practices.CompositeUI.EventBroker.EventTopicException: One or more exceptions occurred while firing the topic 'topic://RequestDefaultAction'
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.CallSubscriptionHandlers(Object sender, EventArgs e, EventTopicFireDelegate[] handlers)
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.Fire(Object sender, EventArgs e, WorkItem workItem, PublicationScope scope)
   em Microsoft.Practices.CompositeUI.EventBroker.EventTopic.Fire(Publication publication, Object sender, EventArgs e)
   em Microsoft.Practices.CompositeUI.EventBroker.Publication.PublicationHandler(Object sender, EventArgs e)
   em Microsoft.Uii.Csr.ApplicationHost.ExecuteDefaultActions(Boolean taggedApplicationsOnly)
   em Microsoft.Uii.Csr.ApplicationHost.ExecuteDefaultActions()
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.SetContext(CustomerEntity customer, IContextManager ctxMgr)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartNewSession(AgentDesktopSession session, String sessionName, CustomerEntity customer, Guid callID, IContextManager CtxMgr)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.AddSession(CustomerEntity customer, Guid callID)
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartHostedApplications()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.LoadNonHostedApplications(IApplicationService applicationService)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.Login()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.GetOptions()
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.DoLoginStep(LoginSteps loginSteps)
   em Microsoft.Uii.Desktop.UI.Core.DesktopLoader.LoadDesktop()
   em Microsoft.Uii.Desktop.UI.Core.DesktopBase.StartDesktopLoad()
   em Microsoft.Uii.Desktop.UI.Wpf.WpfDesktop.WpfRootDesktopForm_Loaded(Object sender, RoutedEventArgs e)
   em System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
   em System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   em System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   em System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   em System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent)
   em System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root)
   em MS.Internal.LoadedOrUnloadedOperation.DoWork()
   em System.Windows.Media.MediaContext.FireLoadedPendingCallbacks()
   em System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   em System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   em System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
   em System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
   em System.Windows.Threading.DispatcherOperation.InvokeImpl()
   em System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   em System.Threading.ExecutionContext.runTryCode(Object userData)
   em System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
   em System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   em System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   em System.Windows.Threading.DispatcherOperation.Invoke()
   em System.Windows.Threading.Dispatcher.ProcessQueue()
   em System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   em MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)
   em System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
   em System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)
   em System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)
   em System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
   em MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   em MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   em System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   em System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   em System.Windows.Window.ShowHelper(Object booleanBox)
   em System.Windows.Window.Show()
   em System.Windows.Window.ShowDialog()
   em Microsoft.Practices.CompositeUI.Windows.WindowShellApplication`2.Start() na C:\Users\michael.pereira\Documents\@Apps\CRM\CCA\WPF_CAB_source_1.0.51205.1\CompositeUI.Windows\WindowShellApplication.cs:line 33
   em Microsoft.Practices.CompositeUI.CabApplication`1.Run()
   em Microsoft.Uii.Csr.AifWpfShellBase`1.StartApplication()
   em Microsoft.Crm.Accelerator.Cca.WpfDesktop.Program.Main() na F:\Program Files\Microsoft Uii\CCA\Source Code\AgentDesktop\Program.cs:line 72

Aug 30, 2010 at 3:58 PM

You can disregard the WindowsAccessBridge error, and if you want to get rid of it, you can comment the line in the program.cs file where CCA is trying to load it.

Its used for Java Integration and is not shipped with UII ( You have to get it from Oracle / Sun , Instructions are in the UII Installer and in the Install Guide for UII as to where to get it ). So if your not using Java, just comment it out.

EventTopic Errors are generally caused by an adapter throwing an unhandled exception in their init. Based on that Dump, odds are good that the exception is in the adapter for GPEMS
You can get more precise by turning on tracing for EventTopic. To do that you will need to modify the app.config for CCA.. Locate the <system.diagnostics> section and make it look like this:

  <system.diagnostics>
    <sources>
      <source name="Microsoft.Practices.CompositeUI.EventBroker.EventTopic"
              switchName="EventTopicSwitch"
              switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <remove name="Default"/>
        </listeners>
      </source>
      <source name="Microsoft.Uii.Common.Logging" switchName="Microsoft.Uii.Common.Logging" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <remove name="Default"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <!-- 
            Possible values for switches: Off, Error, Warining, Info, Verbose
                Verbose:    includes Error, Warning, Info, Trace levels
                Info:       includes Error, Warning, Info levels
                Warning:    includes Error, Warning levels
                Error:      includes Error level
        -->
      <add name="EventTopicSwitch" value="Verbose"/>
      <add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
    </switches>
    <sharedListeners>
      <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="UIIDesktop.txt"/>
      <add name="eventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="CRM UII"/>
    </sharedListeners>
  </system.diagnostics>

The Key item there is the Verbose Tag for the EventTopic Switch
This will write output into the VS Trace Viewer, If you need to write it to a file , you can add the file listener to the Listeners section of the Event Topic Switch

Be sure to turn these switches back to Error when you’re done trouble shooting as they generate a lot of “spam”

 

MattB-MSFT

Aug 31, 2010 at 11:38 AM

Hi Matt!

Thanks fo the reply!

I have one doubt... for logging in file.

I put the LoggingLogFile in the listener but the agentdesktop stop to working.

<system.diagnostics>
    <sources>
      <source name="Microsoft.Practices.CompositeUI.EventBroker.EventTopic"
              switchName="EventTopicSwitch"
              switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <add name="LoggingLogFile" type="Microsoft.Uii.Common.Logging.Providers.LoggingLogFile, Microsoft.Uii.Common.Logging.Providers" logfile="C:\Temp\CCA.log" appname="CCA"/>
          <remove name="Default"/>
        </listeners>
      </source>
      <source name="Microsoft.Uii.Common.Logging" switchName="Microsoft.Uii.Common.Logging" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <remove name="Default"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <!-- 
            Possible values for switches: Off, Error, Warining, Info, Verbose
                Verbose:    includes Error, Warning, Info, Trace levels
                Info:       includes Error, Warning, Info levels
                Warning:    includes Error, Warning levels
                Error:      includes Error level
        -->
      <add name="EventTopicSwitch" value="Verbose"/>
      <add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
    </switches>
    <sharedListeners>
      <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="c:\TEMP\UIIDesktop.txt"/>
      <add name="eventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="CRM UII"/>
    </sharedListeners>
  </system.diagnostics>
Aug 31, 2010 at 12:41 PM
Edited Aug 31, 2010 at 12:42 PM

The modification you made to the config source is causing a .net configuration error.
I have modified your config to output to a file, note that wherever you have it output the file, the running process MUST have access to it, so in this case, the output file is going to be UIIDesktop.Txt and you will find it in the same directory as the running desktop.

  <system.diagnostics>
    <sources>
      <source name="Microsoft.Practices.CompositeUI.EventBroker.EventTopic"
              switchName="EventTopicSwitch"
              switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <add name ="fileListener"/>
          <remove name="Default"/>
        </listeners>
      </source>
      <source name="Microsoft.Uii.Common.Logging" switchName="Microsoft.Uii.Common.Logging" switchType="System.Diagnostics.SourceSwitch">
        <listeners>
          <add name="console" type="System.Diagnostics.DefaultTraceListener" />
          <remove name="Default"/>
        </listeners>
      </source>
    </sources>
    <switches>
      <!-- 
            Possible values for switches: Off, Error, Warining, Info, Verbose
                Verbose:    includes Error, Warning, Info, Trace levels
                Info:       includes Error, Warning, Info levels
                Warning:    includes Error, Warning levels
                Error:      includes Error level
        -->
      <add name="EventTopicSwitch" value="Verbose"/>
      <add name="Microsoft.Uii.Common.Logging" value="Verbose"/>
    </switches>
    <sharedListeners>
      <add name="fileListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="UIIDesktop.txt"/>
      <add name="eventLogListener" type="System.Diagnostics.EventLogTraceListener" initializeData="CRM UII"/>
    </sharedListeners>
  </system.diagnostics>

Additionally,
Here are a few resources on Tracing from MSDN, these are general references, rather than UII specific,
however, if you’re building and deploying agent desktops, you really should understand how to add and use tracing in your shell and
controls, it will save you a lot of time later when trying to trouble shoot something if all you need to do is flip a bit in a specific
app config file to get a live diag dump of what your desktop is doing.

 

Conf Tracing : http://msdn.microsoft.com/en-us/library/ms733025(v=VS.90).aspx

App.Config Scheama for Tracing : http://msdn.microsoft.com/en-us/library/76dt1k3h(v=VS.90).aspx

Core reference to learning how to use Tracing in your own code : http://msdn.microsoft.com/en-us/library/zs6s4h68.aspx

 

MattB - MSFT

Sep 1, 2010 at 2:05 PM

Hi Matt!

Tnks fo the help!

I´ll read this documentation.

Sep 1, 2010 at 6:49 PM

I don´t uderstand why the same application compilation works in some machine and others not.

All the machine have the same applications,services pack,O.S and hardware.

 

Sep 1, 2010 at 7:20 PM

Interesting.. were you able to get a debug trace of where the exception is occurring? If so can you post it?

MattB-MSFT

Sep 1, 2010 at 8:48 PM

I have configured the app.config file of the IAD.

The log show the error:

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 : System.ArgumentException: Failed to navigate to the new URL of the Hosted Web Application: CRM
Nome do parâmetro: initialization string ---> System.Runtime.InteropServices.COMException (0x80040202): Exceção de HRESULT: 0x80040202
   em System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(Object pUnkSink, Int32& pdwCookie)
   em Microsoft.Uii.Csr.Browser.Web.WebBrowserEventSink.Advise(IWebBrowser2 ie)
   em Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.StartBrowser(String urlString)
   em Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.PerformNavigate(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)
   em Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.Navigate(String urlString)
   em Microsoft.Uii.Csr.HostedWebApplication.DoDefaultAction()
   --- Fim do rastreamento de pilha de exceções internas ---
   em Microsoft.Uii.Csr.HostedWebApplication.DoDefaultAction()
   em Microsoft.Uii.Csr.HostedWebApplication.HandleRequestDefaultAction(Object sender, DataEventArgs`1 applicationType)

The Hosted web application it´s a simple url of the crm, there´s not any automation in the default action. this is a global application when cheked the option the agent desktop open correctly.

Whatever hosted web application try to open the problem occurs.

It look´s like assembly problem, don´t?

 

 

Sep 1, 2010 at 9:17 PM

Ok. So that’s a place to start..
Based on the debug dump, it’s a browser issue which is happening on the Navigate command.

What you need to do now is check the IE versions of the working machine and the non-working machine, also, check to see if protected mode is enabled on the nonworking machine as that can cause issues.

Also What Version of IE is being used here… ?

Most of the time, this issue boils down to either protected mode being turned on , or to an old version of MSHTML.DLL on the target machine.

MSHTML is an IE Specific DLL that is loaded from IE, Office, Office Interop assemblies… a number of different places.

MattB.

Sep 2, 2010 at 1:36 PM

I check the version both internet explorer and mshtml.dll version and is exactly on working machine.

Internet Explorer 7: 7.0.5730.13

MSHTML.dll: 7.0.6000.17080

About protected mode can´t be beacuse the windows xp don´t have this option.This information is in http://msdn.microsoft.com/en-us/library/bb250462(VS.85).aspx

Sep 4, 2010 at 11:15 AM

Hi Everyone!
I am facing a similar issue when  trying to run the agent desktop with any user other than the domain's administrator.
IAD crashes when the hosted applications collection includes a web one, whose url is set to a simple html page, or any crm page.

To better isolate the problem I have tried the following things:

* Removed all hosted web applications from the hosted controls - IAD loads smoothly

* Using an independent browser window outside IAD to navigate to the web page - no error here, and the page loads fine.

* Adding a non administrator user to the domain's Adsministrators group - IAD still crashes.

* Reading this post, I made sure that IE protection mode is off and that CRM page is under the trusted sites

* I wrote an external application : a winform with a web browser control on it (and a fixed url to CRM homepage) - IAD loads succesfully.

Does anyone  have any clue what may lead to this behvior?

I am running the IAD on windows7 with IE8.

Many thanks!

Sep 7, 2010 at 4:29 PM

Can you look above in this thread and turn on Tracing… and post what error you’re getting prior to the crash.

Canikrause, I’ve been asking around to our MCS team about this issue, we are pretty sure it’s an MSHTML version issue.
The recommendation is to explicitly include MSHTML.dll in your adapters from the Program Files \ Microsoft.Net\Primary Interop Assemblies, and, if that still is giving you an issue, check the “copy local” bit in the references and distribute the assembly with the adapter.

Out of curiosity.. is there a platform difference between the working and non working machine? x86 vs x64?

Mattb-MSFT

Sep 7, 2010 at 5:41 PM

All the machine is 32-bit But i had test with 64 bit´s and work´s fine.

I´ll compare the dll to see with have the same binary,

regards!

 

Sep 9, 2010 at 7:41 AM

Hi Matt, thanks for the reply!

I turned tracing on and that's the result:

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 Publication for the EventTopic topic://RequestActionEvent was added for the event RequestActionEvent on the type Microsoft.Uii.Csr.HostedWebApplication

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 Publication for the EventTopic topic://ActionCompletedEvent was added for the event ActionCompletedEvent on the type Microsoft.Uii.Csr.HostedWebApplication

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 Publication for the EventTopic topic://RequestActionStatusEvent was added for the event RequestActionStatusEvent on the type Microsoft.Uii.Csr.HostedWebApplication

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 Subscription for the EventTopic topic://RequestDefaultAction was added for the method HandleRequestDefaultAction on the type Microsoft.Uii.Csr.HostedWebApplication

Microsoft.Practices.CompositeUI.EventBroker.EventTopic Information: 0 Subscription for the EventTopic topic://RequestActionEvent was added for the method HandleRequestAction on the type Microsoft.Uii.Csr.HostedWebApplication

the log file contains information entires only which are repeated for each hosted application.

The results are the same when i run IAD with an administrator and non administrator users.

One more thing, the main panel does show the tab designated for the web application, but it's blank ( for a non admin user.)

Thanks again!

Sep 9, 2010 at 1:44 PM

Did you permission the Hosted control for the non admin user?

MattB-msft

Sep 9, 2010 at 1:44 PM

Hi matt!

I had compre the DLL and the binary are the same. both mshtml.dll (from c:\windows\system32) and microsoft.mshtml.dll(from c:\Program Files\Microsoft.NET\Primary Interop Assemblies).

Even i´m put the dll´s  will not work, because they are the same. correct?

 

Sep 9, 2010 at 2:26 PM

How do I grant permissions for a single hosted application?

The (non admin) user was assigned with the System Administrator role in CRM and is able to reach all its pages by using Internet Explorer (8.0) outside IAD.

What bugs me most is the fact that IAD launches up, and all the hosted controls are displayed properly.

However hosted web applications appear blank - as if the embeded web browser control will not function (crash?) for non admin users.

Thank you...

 

Sep 9, 2010 at 2:52 PM

Amirha,  Please read the last part of this thread... I go though the full procedure  http://crmcca.codeplex.com/Thread/View.aspx?ThreadId=226208,

Canikrause, did you start with the 64bit version of UII or the 32bit version of UII?

MattB.

Sep 9, 2010 at 2:55 PM

Hi matt!

I start with 32bit.

Sep 10, 2010 at 4:53 PM

Hi Matt!

I solved my problem. I have remove internet explorer 7 and install internet explorer 8.

Now the IAD it work´s fine!

Tnks for everything!

Sep 12, 2010 at 7:26 AM

Hi Matt

The issue was resolved by checking the "User new browser process option" field (hosting tab of the web hosted application record...)

Sorry for the hassle, but I guess I learnt a lot by trying to find the solution.

 

Many thanks!

 

Nov 30, 2011 at 3:32 PM

Hi Matt,

We are using CCA R2 on XP with IE8. I get the same error ,

System.Runtime.InteropServices.COMException (0x80040202): Exception from HRESULT: 0x80040202

at System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(Object pUnkSink, Int32& pdwCookie)

at Microsoft.Uii.Csr.Browser.Web.WebBrowserEventSink.Advise(IWebBrowser2 ie)

at Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.StartBrowser(String urlString)

at Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.PerformNavigate(String urlString, Boolean newWindow, String targetFrameName, Byte[] postData, String headers)

at Microsoft.Uii.Csr.Browser.Web.WebBrowserExtended.Navigate(String urlString)

at Microsoft.Uii.Csr.HostedWebApplication.DoDefaultAction()


As this is XP , Protected Mode is not available. Can you please suggest any solution.

Thanks and Regards,
Rajee

Dec 3, 2011 at 8:13 PM

Make sure you have XP sp3,  and have patched IE 8 to Current.

Also add the site your trying to host to your trusted zones.

Mattb-msft

Oct 23, 2012 at 4:08 PM

Hi Matt,

Our company using win7-IE8-Protected mode ON,

I am getting webhosted control as Blank which works fine if I turn off the Protected mode.

But, Our Company want Protected mode to be on, so can you please suggest if there any alternative??

 

Awaiting for kind reply!

Oct 23, 2012 at 9:08 PM

The alternative is to move all sites that CCA will work with into the trusted zone of IE, and disable protected mode on that zone.
It then becomes very important that you do not reference assets outside of the sites listed in the trusted zone. 

Mattb-msft.

Oct 24, 2012 at 11:06 AM
Edited Nov 21, 2012 at 10:29 AM

Thanks Matt for your quick reply......I found that the sites I am hosting is already in trusted zone for which Protected Mode is off.........

Can you please sugggest me now?

Oct 25, 2012 at 3:55 PM

Hi Matt, after clicking to "New Browser Process" the url is launching but I have another problem now,

The url is not getting autologin via automations which is working firn with XP,,,,,,,

Can you suggest me now?

Facing same issue mentioned on http://crmcca.codeplex.com/discussions/389974

Nov 2, 2012 at 2:31 PM

So the only reason IE would be elevating to protected mode is if the site your referencing (from Trusted) is using an asset outside that zone.

As for using the Use New browser process, that is going to create a number of orphaned IE Instance in the background of your desktop.

I’m really sorry but Protected mode is there to stop the kind of activities (attaching to IE from an extenral process) we do with CCA\UII forcing the attached object to IE to “let go” and create lost connection. That is what you are seeing in that automations and events stop working.

There have other folks that have found a way to make it work with protected mode turned on by allowing other (somewhat unusual) security settings. I don’t have that information handy and as far as our testing has gone, disabling protected mode is the only reliable way.

Mattb.

Nov 5, 2012 at 1:40 PM

Once again Thank you for your Reply.

Our company does not want to disable the Protected mode at any cost!!......so I dont know what to do now to make the AgentDesktop(CCA code) to run on Windows 7 machine.

I have now found that if I runs the AgentDesktop as an Admin user on Win 7 everything is working fine (whatever are the Protected Modes)!

Can you suggest me is there any way to add this AgentDesktop.exe to Trusted applications so that even for normal user it should not give UAC prompt to fill Admin credentials? Or any other option to run this application as an Admin for Normal user without asking for Admin Credentials

Can you shed some light on this please?

I guess solution to this problem will reslove all issue for all the CRM users world wide.....:)

Nov 7, 2012 at 4:01 AM

@Matt Alternatively Can you please tell me the settings that those folks have tried to run IAD with IE protected mode on?