Subscribe: smartclient Forum Rss Feed
Preview: smartclient Forum Rss Feed

smartclient Forum Rss Feed

smartclient Forum Rss Description


New Post: Converting Smart Client to XBAP for running it in browser

Fri, 17 Jun 2016 09:56:49 GMT

We have a requirement of converting our WinForm smart client desktop application to WPF browser application (XBAP).

As we are using Smart Client architecture (Smart Client Software Factory - Guidance Package), we don't have control over form creation and display. So we used following approach:

We overridden Start method of WindowsFormsApplication class which runs the Shell form. But this leads to another problem of form being disposed. CabApplication.Run method internally calls Start method and then disposes the form, once it is closed. As we are not displaying the form in Start method, it directly goes to dispose.

To overcome this, we have commented dispose call from Run method in SCSF framework and handled in application. We are not sure if making a change in framework is a good idea but it worked for us.

To get the Shell object in XBAP application, we created a method in WinForm application, which returns the Form object. We also used an event in AfterShellCreated to notify XBAP application about Shell creation.

With all these changes, we are able to host smart client in WPF browser based application.

Can anyone review the approach and tell us, if there is any better way of doing this, without making any change in framework classes??

New Post: Support CAB in Frame work 4.5.2

Thu, 21 Apr 2016 13:10:50 GMT

We have application built on CAB frame work with Visual Studio 2008 SP1(Frame work 3.5).
Since we are migrating the application to Visual Studio 2013(Update 4(frame work 4.5.2).
So I want know do we need to install .net frame work 3.5 and 2.0 for application to work or can it work only with frame work 4.5.2.

New Post: Error when opening a View with Event Registration

Thu, 28 Aug 2014 21:20:08 GMT

Hello ,

Where you able to solve the issue?
I'm dealing with the same problem but in my case it's not at the second time.
I can open the View many times, but at some point this error come up and I wasn't able to identify exactly who is the one giving the ...

Thank you in advanced for everything.

New Post: Actuality of this project (retired or not)?

Thu, 01 May 2014 08:44:58 GMT


I have created a project that uses this guidance at the end. I want to know, if there is active development or a roadmap in the future.

The depending project (I posted similar question - tells me a sign of death of CAB. But otoh. The PRISM is still supported when
reading the MS patterns & practices notes (pointing 2004 release for Windows Forms as active


Is there any plan in the future to support Windows Forms based CAB?

Is it the current version at CodePlex?

Thanks, Lothar

New Post: Add UIElements from Multiple Modules?

Thu, 19 Dec 2013 05:47:42 GMT

WorkItem.RootWorkItem.Items.Add(menu, "MainMenu");

#00B050">//registering if you have the RootWorkItem

RootWorkItem.Items.Add(menu, "MainMenu");

#00B050">//When retrieving the MainMenu

#4BACC6">ToolStripMenuItem menu = WorkItem.RootWorkItem.Items.Get<#4BACC6">ToolStripMenuItem>("MainMenu");
Thanks for the heads up. That's where I got lost. It's great knowing Chicago Escorts.

New Post: How can I know the ID of a workItem

Tue, 09 Jul 2013 23:54:36 GMT

I can do it now, it's harder than I expect but finally I got it.

Thanks DCherubini!

New Post: How can I know the ID of a workItem

Mon, 08 Jul 2013 19:19:11 GMT


Well, looking at the code of the Composite Application Block, it seems that the list of child Work Items is a ManagedObjectCollection, which is a collection of KeyValuePairs rather that a Dictionary. Hence, it doesn't seems to expose a method to obtain the "keys" of the objects. I'm not very familiar with this implementation, so there might be a better approach, but as a quick workaround you could iterate over the WorkItems collection using a foreach statement (as the ManagedObjectCollection class provides an enumerator) and retrieve the key for each KeyValuePair.


Damian Cherubini

New Post: How can I know the ID of a workItem

Fri, 05 Jul 2013 18:25:10 GMT

Hi DCherubini,

Thank you for fast reply and info

Well, do you know how can I find the list of Keys?

New Post: How can I know the ID of a workItem

Fri, 05 Jul 2013 17:37:25 GMT


It seems that the WorkItem's ID and the key used to obtain a WorkItem from the collection are not related to each other.
Based on my understanding, what you are seeing in the default ID of the WorkItem (which is a Guid.)
If you want to, I believe you can set a custom ID to the WorkItem by simply setting it in its ID property. Like this you could have the same string as the ID and as the collection key.

I hope this helps,

Damian Cherubini

New Post: How can I know the ID of a workItem

Thu, 04 Jul 2013 19:31:29 GMT


I want to know all the IDs of the WorkitemsCollection in the rootworkitem.

In the debugger I can see the IDs but the value is not the one I declare.

Ex: To retrieve the module I use this Line:
WorkItem item = WorkItem.Parent.WorkItems["LookUpsAdmon"];
but if I put a breakpoint and see the values of "Item" in the ID propertie i see:

Is in the Workitem an element that show "LookUpsAdmon"? I wanna make a DB with all my WorkItems ID.


New Post: how to create a VTK.Net View?

Wed, 17 Apr 2013 00:34:44 GMT

Hi Damian,

It was as you said. I set my project to target a x84 platform and It works perfect.

Thank you very much

New Post: how to create a VTK.Net View?

Mon, 08 Apr 2013 19:42:03 GMT


Looking at the exception, it seems that the key behind the problem is the following one:
 InnerException: System.BadImageFormatException
        Message="Could not load file or assembly 'Kitware.VTK, Version=, Culture=neutral, PublicKeyToken=995c7fb9db2c1b44' or one of its dependencies.  
        An attempt was made to load a program with an incorrect format ."
        FileName="Kitware.VTK, Version=, Culture=neutral, PublicKeyToken=995c7fb9db2c1b44"
Based on my understanding, the " An attempt was made to load a program with an incorrect format " message appears when trying to load a corrupted dll or an unmanaged non-COM 32-bits dll inside a .NET application built for 64-bits architectures. As a starting point, please check that your build configurations a targeted to x86.

Also, I am not familiar with the Visualization Tooltik (VTK) but I believe the following library could be useful to develop .NET applications with it (in case you are not using it already):

Damian Cherubini

New Post: how to create a VTK.Net View?

Sun, 07 Apr 2013 22:53:50 GMT

Hello, First of all, I would like to state that I am a newbie using CAB and Smart Client Software Factory. I am trying to embeded VTK.Net into a view. But I dont know why. I get an ModuleLoadException. I dont know what I am doing wrong. Could anyone help me? thanks in advance. The Error Exception that I get Microsoft.Practices.CompositeUI.Services.ModuleLoadException was unhandled Message="Failed to load module from assembly 7f405271-9377-4d9c-9ed7-141f6b216a13. Error was:\r\nFailed to load module from assembly Module2, Version=, Culture=neutral, PublicKeyToken=null. Error was:\r\nException has been thrown by the target of an invocation." Source="Infrastructure.Library" StackTrace: at SCFSTest.Infrastructure.Library.Services.DependentModuleLoaderService.ModuleMetadata.ThrowModuleLoadException(Exception innerException) in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Infrastructure.Library\Services\DependentModuleLoaderService.cs:line 434 at SCFSTest.Infrastructure.Library.Services.DependentModuleLoaderService.ModuleMetadata.InitializeModuleClasses(WorkItem workItem) in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Infrastructure.Library\Services\DependentModuleLoaderService.cs:line 396 at SCFSTest.Infrastructure.Library.Services.DependentModuleLoaderService.InnerLoad(WorkItem workItem, IModuleInfo[] modules) in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Infrastructure.Library\Services\DependentModuleLoaderService.cs:line 124 at SCFSTest.Infrastructure.Library.Services.DependentModuleLoaderService.Load(WorkItem workItem, IModuleInfo[] modules) in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Infrastructure.Library\Services\DependentModuleLoaderService.cs:line 79 at Microsoft.Practices.CompositeUI.CabApplication`1.LoadModules() at Microsoft.Practices.CompositeUI.CabApplication`1.Run() at SCFSTest.Infrastructure.Shell.ShellApplication.RunInDebugMode() in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Shell\ShellApplication.cs:line 56 at SCFSTest.Infrastructure.Shell.ShellApplication.Main() in D:\Projects\Visual Studio 2008\SCFSTest\Source\Infrastructure\Shell\ShellApplication.cs:line 47 at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Threading.ThreadHelper.ThreadStart() InnerException: System.Reflection.TargetInvocationException Message="Exception has been thrown by the target of an invocation." Source="mscorlib" StackTrace: at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) at System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) at Microsoft.Practices.ObjectBuilder.CreationStrategy.InitializeObject(IBuilderContext context, Object existing, String id, ICreationPolicy policy) at Microsoft.Practices.ObjectBuilder.CreationStrategy.BuildUpNewObject(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild) at Microsoft.Practices.ObjectBuilder.CreationStrategy.BuildUp(IBuilderContext context, Type typeToBuild, Object existing, String idToBuild)[...]

New Post: Smart Client Software Factory active or not

Mon, 25 Feb 2013 23:19:08 GMT


managed to port it to VS2012 using OpenGAX

New Post: Visual Studio 2012

Mon, 25 Feb 2013 23:17:44 GMT


managed to port it to VS2012 using OpenGAX

New Post: Cannot update disconnected service agent

Tue, 18 Dec 2012 12:45:19 GMT


Based on my understanding you should be able to debug the SCSF Guidance Package functionalities by opening the SmartClientFactory Guidance Package solution included in the SCSF source (Guidance Packages folder). And by following the steps mentioned in the HowToDebugGP.txt file, as this will let you run an experimental instance of Visual Studio:

1) Right Click On SmartClientFactoryPackage -> Properties

2) Set "Start External Programe:" to

    C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe  (for 64bit VS)
    C:\Program Files      \Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe  (for 32bit VS)

3) Set "command command line argument:" to
    /rootSuffix Exp

4) On Windows Start Menu:
   Start -> All Programs -> Microsoft Visual Studio 2010 SDK -> Tools -> Reset the Microsoft Visual Studio 2010 Experimental Instance

5) Press Ctrl + F5

I hope you find this handy,

Agustin Adami

New Post: Cannot update disconnected service agent

Sat, 15 Dec 2012 02:34:40 GMT

Thanks DCherubini,
I have  deleted the bin and obj folders of all the projects in my solution and after that rebuild the solution again.but it is the same question.I'm using vs2010 and scsf for vs2010, the webservice create by java use Axis2,and return entity from webservice sometimes, i don't know whether that is a question.I wan to know whether scsf recipe supply debug

New Post: Cannot update disconnected service agent

Tue, 11 Dec 2012 20:20:25 GMT


Based on my understanding, after changing a WebService, you will need to update your Disconnected Service Agent too, like explained in the following section of the documentation:

I this does not help, I believe you could also try to clean your solution manually in order to ensure that your application is being re-builded again from scratch. In order to do so, you could delete the bin and obj folders of all the projects in your solution and after that rebuild the solution again.

I hope this helps,

Damian Cherubini

New Post: Cannot update disconnected service agent

Mon, 10 Dec 2012 21:09:34 GMT


I have created a disconnected service agent ,but after I update my webservice and build the solution,the wizard of recipe can not show "Type" and "Solutin Preview" when I update disconnected service agent ,and show “in order to run this recipe,you solution must compile, please build your solution and try again”,but I have built.

Any idea on how to fix this?