Question re .NET DLL Deployment

  • Thread starter Thread starter Joseph Geretz
  • Start date Start date
J

Joseph Geretz

I am under the impression that .NET DLL's are 'registry free'; simply drop
them onto the target box and that's all that's required. That's the way
we've been deploying these DLL's internally, and no problem - everything
works as expected.

We're getting ready to release and I'm working on an MSI installer; it's a
little more involved than just copying the files onto the box; a web
application directory needs to be created, a database needs to be created,
etc.

Anyway, I look into Wise Installer, and I see that it's generating these
registry entries for all of these .NET DLL's. For example, see below:

So what gives, what's this all about?

Thanks for your advice!

Joseph Geretz

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\Implemented
Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32]
@="mscoree.dll"
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32\1.0.3321.34974]
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\ProgID]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
 
Joseph Geretz said:
I am under the impression that .NET DLL's are 'registry free'; simply drop
them onto the target box and that's all that's required. That's the way
we've been deploying these DLL's internally, and no problem - everything
works as expected.

We're getting ready to release and I'm working on an MSI installer; it's a
little more involved than just copying the files onto the box; a web
application directory needs to be created, a database needs to be created,
etc.

Anyway, I look into Wise Installer, and I see that it's generating these
registry entries for all of these .NET DLL's. For example, see below:

So what gives, what's this all about?

Thanks for your advice!

Joseph Geretz

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\Implemented
Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32]
@="mscoree.dll"
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32\1.0.3321.34974]
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\ProgID]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"


I think you have a dependency (reference) to AltovaXML.dll that is a COM
dll.

http://www.altova.com/manual2009/AltovaXML/index.html?ax_netinterface.htm
 
OK, thanks Mike.

You are right! I don't know why this is the default, but Wise had checked
'Generate COM Interop Registry Keys' for each .NET DLL which I had imported
to the installer project.

I'm cleaning this up right now.

Thanks!

Joseph Geretz

Family Tree Mike said:
Joseph Geretz said:
I am under the impression that .NET DLL's are 'registry free'; simply drop
them onto the target box and that's all that's required. That's the way
we've been deploying these DLL's internally, and no problem - everything
works as expected.

We're getting ready to release and I'm working on an MSI installer; it's
a little more involved than just copying the files onto the box; a web
application directory needs to be created, a database needs to be
created, etc.

Anyway, I look into Wise Installer, and I see that it's generating these
registry entries for all of these .NET DLL's. For example, see below:

So what gives, what's this all about?

Thanks for your advice!

Joseph Geretz

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\Implemented
Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32]
@="mscoree.dll"
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32\1.0.3321.34974]
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\ProgID]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"


I think you have a dependency (reference) to AltovaXML.dll that is a COM
dll.

http://www.altova.com/manual2009/AltovaXML/index.html?ax_netinterface.htm
 
I don't know why this is the default, but Wise had checked 'Generate COM
Interop Registry Keys' ...

Actually, it seems that Wise is kind of intelligent about this. If the DLL
exposes classes which are engineered to support Interop access (i.e.
decorated with the requisite attributes), then it will, by default, generate
the necessary registry keys.

- Joseph Geretz -

Joseph Geretz said:
OK, thanks Mike.

You are right! I don't know why this is the default, but Wise had checked
'Generate COM Interop Registry Keys' for each .NET DLL which I had
imported to the installer project.

I'm cleaning this up right now.

Thanks!

Joseph Geretz

Family Tree Mike said:
Joseph Geretz said:
I am under the impression that .NET DLL's are 'registry free'; simply
drop them onto the target box and that's all that's required. That's the
way we've been deploying these DLL's internally, and no problem -
everything works as expected.

We're getting ready to release and I'm working on an MSI installer; it's
a little more involved than just copying the files onto the box; a web
application directory needs to be created, a database needs to be
created, etc.

Anyway, I look into Wise Installer, and I see that it's generating these
registry entries for all of these .NET DLL's. For example, see below:

So what gives, what's this all about?

Thanks for your advice!

Joseph Geretz

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\Implemented
Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]
@=""

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32]
@="mscoree.dll"
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"
"ThreadingModel"="Both"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\InprocServer32\1.0.3321.34974]
"Assembly"="AltovaXML, Version=1.0.3321.34974, Culture=neutral,
PublicKeyToken=null"
"Class"="Altova.Xml.XsValidation+FacetCheck_string_enumeration"
"CodeBase"="[#AltovaXML.dll]"
"RuntimeVersion"="v2.0.50727"

[HKEY_CLASSES_ROOT\CLSID\{04F4DB06-79CC-3A63-B07D-9402B241C4EC}\ProgID]
@="Altova.Xml.XsValidation+FacetCheck_string_enumeration"


I think you have a dependency (reference) to AltovaXML.dll that is a COM
dll.

http://www.altova.com/manual2009/AltovaXML/index.html?ax_netinterface.htm
 
Back
Top