StrataFrame Forum

After I install on Win 7 I get the following Error when I run the Program

http://forum.strataframe.net/Topic32017.aspx

By Terry Bottorff - 5/1/2013

This is the error:

Problem signature:

Problem Event Name:   CLR20r3

Problem Signature 01:   prcarodeoscoresandtimes.exe

Problem Signature 02:   1.0.0.0

Problem Signature 03:   518121eb

Problem Signature 04:   MicroFour StrataFrame UI

Problem Signature 05:   1.7.6.0

Problem Signature 06:   50a3afb4

Problem Signature 07:   48

Problem Signature 08:   75

Problem Signature 09:   System.IO.FileNotFoundException

OS Version:   6.1.7601.2.1.0.256.48

Locale ID:   1033

Additional Information 1:   82e2

Additional Information 2:   82e23b36efee975bd0e9417ff09fe7bb

Additional Information 3:   3c12

Obviously I only assume I have a Strataframe Error since it is mentioned in the error but does anybody have any ideas?

Thanks in advance.

Additional Information 4:   3c12b34ff863b41347c85278bacc4199

By StrataFrame Team - 5/2/2013

Do you have the ability to debug it?  Or is that an error from the event log on a customer's machine?
By Terry Bottorff - 5/2/2013

That is the error that occurs on the client machine when you try and run it.

How do I debug it or try and debug it? What has to be installed on the client machine?

TIA.
By StrataFrame Team - 5/2/2013

Nothing specifically has to be installed on the client machine.  You just need to make sure that all of your references are included in the same folder as that *.exe.  Usually, that means:

MicroFour StrataFrame Base.dll
MicroFour StrataFrame Business.dll
MicroFour StrataFrame UI.dll

and depending upon the version:

MicroFour StrataFrame Lzma.dll

The files also need to be the exact version that was used to build the .exe.  If you have an assembly with a different signature (version, key, etc.) then .NET worn't be able to load it, and will throw a FileNotFound exception.

What did you use to deploy your .exe?  An installer, like InstallShield or InstallAware, or did you just copy the files out?
By Terry Bottorff - 5/2/2013

I use Installaware. I used the same subdirectory for the dll's that I used for another project that did install correctly and I have checked to make sure that the dll's are copied into the target directory.

?

TIA.
By Edhy Rijo - 5/2/2013

Hi Terry,

You definitely have a problem with mixing DLL somehow.  Here is what I do and what I have experience:
  1. In the past, I used to install my DLLs to the GAC folder C:\WINDOWS\Assemblies.
  2. Later for update conveniences I decided to deploy all my DLLs to the same folder of my application, that will make it easier for me to update those files using the AppLifeUpdate from KineticJump
  3. Sometimes my application would fail running because even though the DLLs are now in the application folder, it may try to use the ones in the GAC folder, so I had to manually go to C:\WINDOWS\Assemblies and remove/uninstall those DLLs.  This may be your case.
Also, I keep an organized folder structure for my DLLs images, because I deal with several applications created with SF, DevExpress and other 3rd party controls, but not all applications are using the same version of those DLLs, so whenever I use a new version of any of my controls I create a new folder for it like this:

E:\Images\Assemblies\DevExpress\v10.2.5

E:\Images\Assemblies\DevExpress\v10.2.6

E:\Images\Assemblies\StrataFrame\Assemblies\V1.7.3.5

E:\Images\Assemblies\StrataFrame\Assemblies\V1.7.4.0

Hope this help you figure out what is going on.
By Terry Bottorff - 5/3/2013

Edhy I have several questions:
  • When you say you remove/uninstall the dll's does that mean you just delete them or is there a way to uninstall?
  • How do you get Strataframe or DevExpress to find your dll's when let's say you add a XtraGrid to a Strataframe Form?
  • So in the project that I am having issues with, if I delete all the references to the dlls  that are there and then add them back in from the subdirectory that I am adding them to Installaware should I be OK?
  • Also, when you upgrade say Strataframe from say 1.6 to 1.7 how do you get the dll's to end up in your file structure you are using?
TIA.
By Edhy Rijo - 5/3/2013

Hi Terry,

>> When you say you remove/uninstall the dll's does that mean you just delete them or is there a way to uninstall?
Yes, I manually go to the C:\WINDOWS\Assembly select the files I don't want, and right click and choose "Unisntall" or simply press the "Del" key.

>>
How do you get Strataframe or DevExpress to find your dll's when let's say you add a XtraGrid to a Strataframe Form?
It is actually very simple and straight forward if you have all the supporting dlls in your application' folder "$TARGETDIR$" in InstallAware (IA).  Ex: when I drop an XtraGrid in a form, DevExpress will add the required dlls needed for that control to work, then I make sure when I build my setup to include those dlls with the correct version (very important) and copy them to the
"$TARGETDIR$" in IA.

>>
So in the project that I am having issues with, if I delete all the references to the dlls  that are there and then add them back in from the subdirectory that I am adding them to
>> Installaware should I be OK?
Nope, you don't need to delete the references to the dlls in your SF project. Let me give you an example:
  1. While developing your application you may have a reference to DevExpress.XtraGrid.v12.2 located in C:\Program Files (x86)\DevExpress\DXperience 12.2\Bin\Framework\DevExpress.XtraGrid.v12.2.dll  this is the default DevExpress setting and use that, so it is easier to use the DevExpress project conversion tool when new version is released.
  2. Then you compile your application.
  3. Now you build your IA setup I have the specific versions of all dlls in their own folders just for IA, so I can support applications which I have not updated to most current dlls version.
    • Copy the e:\images\assemblies\devexpress\v12.2.8\DevExpress.XtraGrid.v12.2.dll file and place it in the application's folder in IA will be something like this:
    • Install Files e:\images\assemblies\devexpress\v12.2.8\DevExpress.XtraGrid.v12.2.dll to $TARGETDIR$
  4. When you install your application, it will find the DevExpress.XtraGrid.v12.2.dll in the folder and will use it.  Problem I have seen is that sometimes if you may have the same version in the GAC folder, it may try to use that, so I had the need to manually remove that version as explained before.
>> Also, when you upgrade say Strataframe from say 1.6 to 1.7 how do you get the dll's to end up in your file structure you are using?

Same method used in step 3 above.


By Terry Bottorff - 5/3/2013

Well I Uninstalled the Files in the C:\Windows\Assembly subdirectory and now I get this error when I try to load the project into VS2012. I suppose that definitely means I had a version issue but now if I can not load the project am I hosed?

Exception
  An error occurred while configuring the StrataFrame design-time data sources.
FileNotFoundException
  Could not load file or assembly 'MicroFour StrataFrame Base, Version=1.7.0.0, Culture=neutral, PublicKeyToken=99fe9917f71608a7' or one of its dependencies. The system cannot find the file specified.

Source     :

Stack Trace:

   at MicroFour.StrataFrame.Data.ConnectionManager.SetConnections()
   at MicroFour.StrataFrame.AddIns.AddInManager.ᜃ()

TIA.
By Terry Bottorff - 5/3/2013

Of the Dlls in the attached picture. Which Ones do you uninstall?

I uninstalled and reinstalled the lastest version of Strataframe. I made sure all subdirectories, dlls were gone before reinstall.

I will try to rebuild and create install with Installaware.

TIA.
By Edhy Rijo - 5/3/2013

Terry,

Sorry for the confusion, but when I said, uninstall, I mean at the customer computer, not your developer computer.  If you uninstall any dll from your developer computer, then you will need to either reinstall that program ex DevExpress, Strataframe, etc. or you need to run their setup repair option from the add/remove in the control panel.

Read my messages again, but all installs/uninstall applies to the client computer where you are installing your program using IA.
By Terry Bottorff - 5/3/2013

Duh. Makes more sense. Thanks........

The Client machine has no reference to Microfour in the C:\Windows\Assembly and I have copied all the dll's into the TargetDirectory and rebuilt the InstallAware. Now I will try to reinstall and see what happens. I shall return with the results.

Thanks again.
By Terry Bottorff - 5/5/2013

Well, the reinstall or using the dll's from this subdirectory did the trick: C:\Program Files (x86)\Common Files\MicroFour\StrataFrame

InstallAware, copying all dll's to the $targetdir$ allowed it to install and run the way it should. Thank you for the help.
By Edhy Rijo - 5/5/2013

Hi Terry,

Sorry about the confusion with uninstall of DLLs, I am glad you got it working, it is a complicated subject to keep everything working on both places and been able to publish your updates successfully, it took me a great deal of trial and error and asking all over to get to a steady process and 95% automated process for my end users to apply the updates without me having to remote to their computers.
By Terry Bottorff - 5/5/2013

I can see what you mean. I am going to have to start being very careful in how I update my tools and when I do it.

If you start another project and have the same BO Library do you just add a project to the new one and find the BO dll and add it?

Also, if there is a form in a previous project that you want do you copy the designer.vb, .resx and the .vb files to you new project structure and then Add it or do you just add it and find it where it is found now?

TIA.
By Edhy Rijo - 5/5/2013

Hi Terry,

>> I can see what you mean. I am going to have to start being very careful in how I update my tools and when I do it.
Yes, you have to be very, very careful and organized to avoid headaches. Crazy

>>
If you start another project and have the same BO Library do you just add a project to the new one and find the BO dll and add it?
Yes, you can re-use the same BO with another project, but keep in mind that when you update that BO dll, you will have to also re-build both projects accessing that BO reference, specially if you change the BO dll version number.  Get use to keep your dll versioning clear and updated, so you don't go crazy with dll references.

>>
Also, if there is a form in a previous project that you want do you copy the designer.vb, .resx and the .vb files to you new project structure and then Add it
>> or do you just add it and find it where it is found now?
What I do, is that from Windows Explorer, I copy that form files (all of them) then paste it in the other project, then from VS project right click where you want to add it and include those files, VS project will use those files now.  Be aware, that you cannot have the same class name in the same project unless you are using different Namespaces.
By Terry Bottorff - 5/5/2013

I can see that the BO library versioning can be like a dog chasing it tail. Sounds good to reuse it but you better have good notes so all projects that need updated get done also. Wow.

Thank you about copying the form.

Thanks for all your help.
By Edhy Rijo - 5/5/2013

You are welcome Terry!!!