SCSF/CAB application won't run

slackjawslackjaw Posts: 3
edited April 11, 2011 12:38PM in SmartAssembly
Hello,

I have an application built on top of Microsoft's CAB that won't run when I build it with smart assembly. Depending on the preferences I select it either crashes immediately, starts up and then crashes, or silently crashes.

Basically if I don't select any assemblies in the "Dependency Merging" and "Dependency Embedding" sections the application the app crashes immediately.

If I select all assemblies under "Dependency Merging" than the application will start up (I see the initial dialog that we show) but it crashes after that.

If I select "rebuild with self diagnostic" the application appears to silently fail.

I'm guessing part of the problem is that smartAssembly can't detect all of the dependencies but I can't see a way to add assemblies that it hasn't detected.

Any guidance would be appreciated.

Comments

  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    Can you please explain "built on top of Microsoft's CAB"? Does this mean you are building a setup and deployment project?
  • It means that our application uses the Composite UI Application block for messaging and module loading (among other things). When I say "CAB" I do not mean a cabinet file (which is why the subject mentions the Smart Client Software Factory) so no it's not a setup and deployment project.

    If you need further details about CAB or SCSF e-mail me and I will provide them.
  • Brian DonahueBrian Donahue Posts: 6,590 Bronze 1
    I'm not sure how to get to the bottom of this problem but regardless of the three-letter-acronym sitting on top of .NET it usually a dependency issue or an issue brought on by renaming that breaks reflection.

    The fact you don't get any debugging information won't make it easy to sort out, though.

    Some of SA's options just plain won't work in some scenarios and we recommend starting with the bare minimum and adding more options until the assembly stops working.

    If it is broken by obfuscation, then you have to work out which types need to be excluded, which can be a pain.

    Merging tends to wreck type equivilency, resulting in bizarre and inconsistent errors.
Sign In or Register to comment.