I just have to say that I am having such a tough time with this. I really
hope that Microsoft can make something that helps this process out. Even a
good knowledgebase article would be helpful.
I tried using the Register property of the Setup Project on my items that I
want to register. I could never get it to work for me. Using both vsdrpCOM
and vsdrpCOMSelfRegister (cause we have a managed C++ Dll that needs to be
registered with REGSVR32) did not seem to actually work correctly. I had
read a blog that said they do not work with PROJECT OUTPUT type of files,
but that you have to manually select the file from the Debug dir and add it
that way, but still didnt seem to work out.
I tried using RegisterAssembly call and I was never able to get the assembly
to load successfully to try to call this. All of the assemblies that need
registering rely on other assemblies and even though they are all installed
to the same directory, .NET is apparently unable to find them. Not to
mention our path has a COMMA in it, and no matter what I did the
Assembly.Load call wanted to convert that into an AssemblyPath and parse out
the comma.
I tried usiung Process.Start to spawn REGASM and VSIPREGPKG to do their
thing and ran into the same pathing problem. Neither of them would run
because they apparently could not find the dependent assemblies., I even
used the ProcessStartInfo class and set the WorkingDirectory, but that didnt
work either.
THE ONLY WAY ive found to get these things installed is to copy REGASM and
VSIPREGPKG to the install dir and then call a RUNME.BAT file and pass it the
directory so the BAT file can first CD into the dir and then run each of the
files. Apparently using the Setup project in MSVStudio likes to run in the
Windows/System32 directory andf I've not found a way to change that. I don't
like this solution though, becasue it doesn't work well if you install to a
different drive letter.
Suffice it to say that this has been a very annoyting process.
Comments and suggestions please!
Bill
> function of the .NET Framework (mscorlib). This is used if you want to build
> your own regasm.exe utility, for example, or if your startup .NET assembly
[quoted text clipped - 46 lines]
> > Thanks
> > Bill
Since it seems that you have a lot of problems with the different approaches
that you are using, in my experience the way to solve this is to start with
the basics and then add steps to the final goal. So, forget for now your
project and let's return to the basics:
> I tried using the Register property of the Setup Project on my items that
> I
> want to register. I could never get it to work for me. Using both vsdrpCOM
- Create a new managed Class Library project in VS.NET with a single class,
create a setup project for it which registers it for COM and test it until
it works as expected.
> I tried using RegisterAssembly call and I was never able to get the
> assembly
> to load successfully to try to call this. All of the assemblies that need
> registering rely on other assemblies and even though they are all
> installed
> to the same directory, .NET is apparently unable to find them.
- Create a new managed Class Library project in VS.NET with a single class,
create a new Windows Form application which uses RegisterAssembly to
register it for COM and test it until it works as expected.
> and vsdrpCOMSelfRegister (cause we have a managed C++ Dll that needs to be
> registered with REGSVR32) did not seem to actually work correctly
- Create a new Win32 DLL project in VS.NET, create a setup project for it
which registers it for COM and test it.
> Not to mention our path has a COMMA in it, and no matter what I did the
> Assembly.Load call wanted to convert that into an AssemblyPath and parse
> out
> the comma.
- Create a new managed Class Library project in VS.NET, put it in a folder
with a comma, create a new Windows Form application which uses Assembly.Load
to load it.
I mean, your actual project may have a mess, but each one of these isolated
steps is quite simple and it should work. If not, you can post a very simple
step-by-step procedure for other person to reproduce and solve it.
Simplifying and understanding the basics you can combine later the pieces
for your actual situation.

Signature
Carlos J. Quintero
MZ-Tools 4.0: Productivity add-ins for Visual Studio .NET
You can code, design and document much faster.
http://www.mztools.com