Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
I am using the SF Infragistics Wrapper and I am getting an error when try to install this assembly into the GAC using InstallAware. When I build my installation package I don't get any error and the other SF assemblies are installed just fine. Of course I had to compiled the "MicroFour StrataFrame Infragistics Wrapper.dll" in order to use my version of Infragistics library. In my computer works just fine, only when I build the installation setup and test under Vista and XP (32BITS). I will appreciate if somebody can give me a hint on this one.
Edhy Rijo
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
See attached image for the list of SF assemblies selected.
Edhy Rijo
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
This looks more like an InstallAware problem. I have fought this before where the temp file gets removed due to a virus software, invalid permissions, etc. These are always fun things to fight. But within InstallAware, every time I have fought this, it was becuase the physical file on disk really isn't there and had been cleaned up or removed.
I have gotten around this several ways depending on how it was manifested. Generally the first thing I will do is open up the %temp% folder and remove any mia*.* folders and files. Then start over. This fixes about 50% of the problems. 25% of the time turning off a real-time anti-virus solution fixes the problem. 10% of the time if it is an update, the original {GUID} folder they create in the Application Data folder has to be manually deleted due to some type of corruption. Another 10% of the time it is permission issues. Generally when it is permissions there is an IT person who really locks down the temp folders, etc. and makes life fun. 5% of the time it is a legitimate issue.
I am not sure which category you are falling into...but this is a relatively common message.
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Thanks Trent, Will try all that. What is extrange is that only happen with this file which I had to re-build, other SF assemblies install just fine. I even try to manually drop this file into the GAC and get an error, even though I am logged as administrator with all the rights using VPC.
Edhy Rijo
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
If you just place that DLL in the same location as your EXE does the application run? We have actually moved away from GAC additions and it has made things far easier. In the future we will do the same with SF so that it makes it easier to run multiple versions of SF at the same time easier.
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Trent L. Taylor (05/18/2009) If you just place that DLL in the same location as your EXE does the application run? We have actually moved away from GAC additions and it has made things far easier. In the future we will do the same with SF so that it makes it easier to run multiple versions of SF at the same time easier.Yeah, moving all SF assemblies to the EXE folder did the trick. Obviously this should be an InstallAware problem since for whatever reason the file was not included in the OFFLINE Web Media Group. I noticed that by having all assemblies in the same folder as the EXE there is not need to register anything which in a way makes it simple, even though I kind it like the assemblies files being in another folder. Thanks again for your input, it really helped and now I can demo beta 2 of the application to the customer tomorrow.
Edhy Rijo
|
|
|
Trent Taylor
|
|
Group: StrataFrame Developers
Posts: 6.6K,
Visits: 6.9K
|
You can actually put the assemblies in a different folder without the need for the GAC. In your application you can handle the AssemblyResolve event on the AppDomain and pull the assembly from any location. Here is a quick sample, it may need some work, but it should give you a general idea: Add this to the InitApplication or someplace far up in the AppMainAddHandler AppDomain.CurrentDomain.AssemblyResolve, AddressOf ResolveAssemblyLocation Here is the general idea for the ResolveAssemblyLocation method: Private Shared Function ResolveAssemblyLocation(ByVal sender As Object, ByVal e As System.ResolveEventArgs) As System.Reflection.Assembly
'-- Establish Locals
Dim r As System.Reflection.Assembly
Dim assemblyPath As String = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) & "\Assemblies\"
r = System.Reflection.Assembly.LoadFile(assemblyPath & e.Name)
Return r
End Function Hope this helps.
|
|
|
Edhy Rijo
|
|
Group: StrataFrame Users
Posts: 2.4K,
Visits: 23K
|
Thanks, definitely worth trying, I like to have my Application's folder organized, and frankly I don't like to see a whole bunch of files in a single folder.
Edhy Rijo
|
|
|
Greg McGuffey
|
|
Group: Forum Members
Posts: 2K,
Visits: 6.6K
|
Can something like this be done to override an assembly being installed in the GAC and also in local? I.e. if the SF assemblies are in the GAC (like on a dev machine), but I need to run an older version of the app, with older SF assemblies and have those assemblies in the exe folder, can I use this method to use the local ones instead of the one's in the GAC?
|
|
|
Keith Chisarik
|
|
Group: StrataFrame Users
Posts: 939,
Visits: 40K
|
Great conversation, I would also love to do this, I think the GAC was a decent idea in concept, but a failure in practical implementation.
Keith Chisarik
|
|
|