Is SCSF good for specific types of application?

Topics: CAB & Smart Client Software Factory
Oct 8, 2006 at 4:35 AM
originally posted by: liocco

Or just for some limit types of applications? Thansk.
Oct 8, 2006 at 3:07 PM
originally posted by: headlam

In general I would say it is good for applications that are composed of different parts that may or may not be developed by different groups/teams within and outside an organization, but yet need to behave as a single application (i.e., a composite application). It is also good for developing applications with an SO mind set (yes SO is not about Web Services). The loose coupling between the parts (i.e., Modules) is a very powerful feature that allows for an application to change and grow without a lot of change (if any) to the other parts of the application it integrates with. In general I would say don’t develop an application that has not intention of being pluggable or does not have more that one part that must communicate in a loosely coupled fashion, anything beyond that I think is fair game. Can you use it to develop web service type applications, no… for that use the Web Service Software Factory ( and for Mobile Applications use the Mobile Client Software Factory ( The help file has some good info on the types of application CAB/SCSF is targeting. Take a look there to get some more info. Hope that helps.
Oct 10, 2006 at 5:11 AM
originally posted by: advico

Thanks, headlam. Basically, you are saying that SCSF is good for any WinForm type application.

In the documentation, I saw UI centric with simple logic types of applications. How about non UI centric typs of applications? How about simple UI with complicated processing logic? Will SCSF provide values to applications like WORD, VS.NET or Auto CAD?

Pluggable to what extend? In WorkItem level or WorkSpace level or SmartPart level or even non-UI level?

You mentioned that SCSF is also good for SO mind set. Do you mean it's not just good for composite UI, it's also good for composite non-UI scenarios? Thanks.
Oct 10, 2006 at 6:49 AM
originally posted by: askew

Matias Woloski's blog has an example of extending Outlook and Word with CAB solutions.

The Module is the 'plugin' unit in the architecture. There are non-UI Modules (Foundational Modules), in SCSF-CAB.

The CAB can be used whenever one can imagine it being useful. It may be most valuable as a corporate-wide Enterprise solution, or even as a plugin host like Winamp. Modules can be developed by remote teams, so this is also a value to use CAB.

Use CAB & SCSF when it makes sense to you.
Oct 17, 2006 at 6:36 AM
originally posted by: advico

Thanks. What's a pluggable module? A dll, an assembly, or something new from SCSF?
Oct 17, 2006 at 8:37 AM
originally posted by: askew

DLL == assembly == module in CAB & SCSF == a plug-in for the CAB Shell.

Go through the documentation and the Hands On Labs for greater detail.

Oct 19, 2006 at 10:04 AM
originally posted by: advico

Generally speaking, an assembly can have more than one module (dll or exe). So, in SCSF/CAB world, an assembly can have only one module (dll)? Thanks.
Oct 19, 2006 at 11:52 AM
originally posted by: askew

Assemblies are .exe or .dll files (actually you can name .dll extensions whatever you want to find them named).

The Solution from a SCSF generated CAB project is an exe: Shell project.
Each module you generate with SCSF is an extension for the CAB, and are .dlls, library projects.
The Shell.exe is the host for the module .dlls.

It's as simple as that. A module is a dll, and the Shell.exe is their host.

The Shell is a CAB solution and it's a work of art, imho.