[Incident]: Some users report they are unable to access the case portal. Please see this community notice for more information.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
DemonPiggies
Level 7

Regasm not running during install

We added a new .Net dll. We already added interop assemblies from unmanaged code to managed code. This is the opposite, managed code to unmanaged code.

This is an InstallScript project.

Under options I've already set the RegAsm.exe path and set the default to Properties and Dependencies. The component's (to which it had it's own component) .NET Settings is set to "Local" and "Dependencies".

The problem is that this new component installs CORRECTLY on everyone else's system except one (this one is used to write manuals and is a clean machine). We found out that the dll is not being registered (via RegAsm). We have a sneaking suspicion that their .NET installation is messed up. We tested this by using another person's version of RegAsm.exe (yes we are using v2....). The dll is not being registered.

Are there any way to verify that this is being registered (meaning is there a way to find out if it is using the correct RegAsm and/or it's returning an error)?
Labels (1)
0 Kudos
7 Replies
DemonPiggies
Level 7

Not that it matters...

The issue was due to a bad .NET install on the client's machine. The messed up install screwed up registration (with RegAsm). This screw up cause our application to crash whenever the .NET dll was called. The reason our older .NET application worked fine (I know I didn't add that to the original post) because it must have been registered with the older RegAsm.exe. Chances are is that .NET install only worked for older .NET applications meaning the newer version that executes newer .NET code was bad...

So the fix was to have the client reinstall .NET (3.5 SP1).
0 Kudos
Christopher_Pai
Level 16

What project type is this?
0 Kudos
DemonPiggies
Level 7

InstallScript.
0 Kudos
Christopher_Pai
Level 16

Consider using REgasm /regfile:foo.reg foo.dll to generate a regfile that you can then import into installshield. This way you don't have to call regasm during the install, you just lay down the registry information.
0 Kudos
DemonPiggies
Level 7

But would that fix the issue?
Would the fact that a bad .NET install might/would cause larger issues throughout the entire application?
I mean that is a work around that I most likely will enter into the install as a precaution...

Is there a way to create a regfile for normal dlls that do not use .NET? and is there a chance the CLISIDs would be duplicated? Because the regfile would be a good way to make a repair script in case the user has issues with the registration.
0 Kudos
Christopher_Pai
Level 16

I understand the desire to be premptice but you can't be responsible for platform issues especially if they occur after installation. Read Aaron stebner recent blog post about what happeneds to intuit when they did this type of check.
0 Kudos
DemonPiggies
Level 7

No it's more for scripting the repair procedure. I don't want to fix environmental issue as we've seen with this issue. More like a brute force fix...
0 Kudos