473,586 Members | 2,776 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Error installing DLL component in system32

Hi,

I am working on an installer application to install 2 COM components in
the system32 directory. I had this implemented previously to install
to a different directory (i.e. C:\sample\dll) and it worked fine. The
setup app seems to crash though when I changed the path to
C:\windows\syst em32. This is the error I receive...

System.Runtime. InteropServices .COMException (0x80110401) Errors
occurred accessing one or more objects

I am guessing its a configuration problem?

Any help would be appreciated.

Thanks!

Sep 15 '06 #1
10 9459
You shouldn't be installing COM components into system32.

Are these COM components .NET components that are registered to work
through interop? If so, install the assemblies in the GAC (they need to be
strong named) and then register those with COM interop.

Since COM components have visibility across the whole machine, it makes
sense that they go in the GAC. You also won't have location/lookup issues
either.

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmail .comwrote in message
news:11******** **************@ b28g2000cwb.goo glegroups.com.. .
Hi,

I am working on an installer application to install 2 COM components in
the system32 directory. I had this implemented previously to install
to a different directory (i.e. C:\sample\dll) and it worked fine. The
setup app seems to crash though when I changed the path to
C:\windows\syst em32. This is the error I receive...

System.Runtime. InteropServices .COMException (0x80110401) Errors
occurred accessing one or more objects

I am guessing its a configuration problem?

Any help would be appreciated.

Thanks!

Sep 15 '06 #2
After a discussion with the architecture team this is what they decided
upon because the system path environment variable was too full on the
server and we couldn't add "C:\sample\ dll" to it.

It doesn't come down to being my decision really...that the way it is
unfortunately.

And they don't want them to be installed in the GAC, I gotta stick to
the specs.

Nicholas Paldino [.NET/C# MVP] wrote:
You shouldn't be installing COM components into system32.

Are these COM components .NET components that are registered to work
through interop? If so, install the assemblies in the GAC (they need to be
strong named) and then register those with COM interop.

Since COM components have visibility across the whole machine, it makes
sense that they go in the GAC. You also won't have location/lookup issues
either.

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmail .comwrote in message
news:11******** **************@ b28g2000cwb.goo glegroups.com.. .
Hi,

I am working on an installer application to install 2 COM components in
the system32 directory. I had this implemented previously to install
to a different directory (i.e. C:\sample\dll) and it worked fine. The
setup app seems to crash though when I changed the path to
C:\windows\syst em32. This is the error I receive...

System.Runtime. InteropServices .COMException (0x80110401) Errors
occurred accessing one or more objects

I am guessing its a configuration problem?

Any help would be appreciated.

Thanks!
Sep 15 '06 #3
I hate to tell you, but your specs are wrong.

If they knew anything about .NET, they would know that Fusion (the
assembly loader) does NOT look in System32 for dlls.

But hey, if that's what the spec says, who am I to argue?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmail .comwrote in message
news:11******** *************@p 79g2000cwp.goog legroups.com...
After a discussion with the architecture team this is what they decided
upon because the system path environment variable was too full on the
server and we couldn't add "C:\sample\ dll" to it.

It doesn't come down to being my decision really...that the way it is
unfortunately.

And they don't want them to be installed in the GAC, I gotta stick to
the specs.

Nicholas Paldino [.NET/C# MVP] wrote:
>You shouldn't be installing COM components into system32.

Are these COM components .NET components that are registered to work
through interop? If so, install the assemblies in the GAC (they need to
be
strong named) and then register those with COM interop.

Since COM components have visibility across the whole machine, it
makes
sense that they go in the GAC. You also won't have location/lookup
issues
either.

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmai l.comwrote in message
news:11******* *************** @b28g2000cwb.go oglegroups.com. ..
Hi,

I am working on an installer application to install 2 COM components in
the system32 directory. I had this implemented previously to install
to a different directory (i.e. C:\sample\dll) and it worked fine. The
setup app seems to crash though when I changed the path to
C:\windows\syst em32. This is the error I receive...

System.Runtime. InteropServices .COMException (0x80110401) Errors
occurred accessing one or more objects

I am guessing its a configuration problem?

Any help would be appreciated.

Thanks!

Sep 15 '06 #4
I don't get much room to argue here either....

So I guess you are saying there is no solution to my problem because
its all wrong? Must be a previliges issue....?
Nicholas Paldino [.NET/C# MVP] wrote:
I hate to tell you, but your specs are wrong.

If they knew anything about .NET, they would know that Fusion (the
assembly loader) does NOT look in System32 for dlls.

But hey, if that's what the spec says, who am I to argue?

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmail .comwrote in message
news:11******** *************@p 79g2000cwp.goog legroups.com...
After a discussion with the architecture team this is what they decided
upon because the system path environment variable was too full on the
server and we couldn't add "C:\sample\ dll" to it.

It doesn't come down to being my decision really...that the way it is
unfortunately.

And they don't want them to be installed in the GAC, I gotta stick to
the specs.

Nicholas Paldino [.NET/C# MVP] wrote:
You shouldn't be installing COM components into system32.

Are these COM components .NET components that are registered to work
through interop? If so, install the assemblies in the GAC (they need to
be
strong named) and then register those with COM interop.

Since COM components have visibility across the whole machine, it
makes
sense that they go in the GAC. You also won't have location/lookup
issues
either.

Hope this helps.

--
- Nicholas Paldino [.NET/C# MVP]
- mv*@spam.guard. caspershouse.co m

<al******@gmail .comwrote in message
news:11******** **************@ b28g2000cwb.goo glegroups.com.. .
Hi,

I am working on an installer application to install 2 COM components in
the system32 directory. I had this implemented previously to install
to a different directory (i.e. C:\sample\dll) and it worked fine. The
setup app seems to crash though when I changed the path to
C:\windows\syst em32. This is the error I receive...

System.Runtime. InteropServices .COMException (0x80110401) Errors
occurred accessing one or more objects

I am guessing its a configuration problem?

Any help would be appreciated.

Thanks!
Sep 15 '06 #5
And to add what Nicholas said, if they knew anything about windows they
wouldn't even think about System32.
COM DLL's directory don't even need to be in the path environment. Native
COM components just like .NET assemblies registered as COM components, are
registered in the registry. .NET registered COM components don't need to
reside the GAC either, just register them using the regasm.exe /codebase
option and their location will be stored in the registry such that any COM
client is able to load them.

Willy.

<al******@gmail .comwrote in message
news:11******** *************@p 79g2000cwp.goog legroups.com...
| After a discussion with the architecture team this is what they decided
| upon because the system path environment variable was too full on the
| server and we couldn't add "C:\sample\ dll" to it.
|
| It doesn't come down to being my decision really...that the way it is
| unfortunately.
|
| And they don't want them to be installed in the GAC, I gotta stick to
| the specs.
|
| Nicholas Paldino [.NET/C# MVP] wrote:
| You shouldn't be installing COM components into system32.
| >
| Are these COM components .NET components that are registered to work
| through interop? If so, install the assemblies in the GAC (they need to
be
| strong named) and then register those with COM interop.
| >
| Since COM components have visibility across the whole machine, it
makes
| sense that they go in the GAC. You also won't have location/lookup
issues
| either.
| >
| Hope this helps.
| >
| --
| - Nicholas Paldino [.NET/C# MVP]
| - mv*@spam.guard. caspershouse.co m
| >
| <al******@gmail .comwrote in message
| news:11******** **************@ b28g2000cwb.goo glegroups.com.. .
| Hi,
|
| I am working on an installer application to install 2 COM components
in
| the system32 directory. I had this implemented previously to install
| to a different directory (i.e. C:\sample\dll) and it worked fine. The
| setup app seems to crash though when I changed the path to
| C:\windows\syst em32. This is the error I receive...
|
| System.Runtime. InteropServices .COMException (0x80110401) Errors
| occurred accessing one or more objects
|
| I am guessing its a configuration problem?
|
| Any help would be appreciated.
|
| Thanks!
|
|
Sep 15 '06 #6
Forgive me if I didnt mention it....its a 3rd party C++ DLL

Do the same rules apply here?
Willy Denoyette [MVP] wrote:
And to add what Nicholas said, if they knew anything about windows they
wouldn't even think about System32.
COM DLL's directory don't even need to be in the path environment. Native
COM components just like .NET assemblies registered as COM components, are
registered in the registry. .NET registered COM components don't need to
reside the GAC either, just register them using the regasm.exe /codebase
option and their location will be stored in the registry such that any COM
client is able to load them.

Willy.

<al******@gmail .comwrote in message
news:11******** *************@p 79g2000cwp.goog legroups.com...
| After a discussion with the architecture team this is what they decided
| upon because the system path environment variable was too full on the
| server and we couldn't add "C:\sample\ dll" to it.
|
| It doesn't come down to being my decision really...that the way it is
| unfortunately.
|
| And they don't want them to be installed in the GAC, I gotta stick to
| the specs.
|
| Nicholas Paldino [.NET/C# MVP] wrote:
| You shouldn't be installing COM components into system32.
| >
| Are these COM components .NET components that are registered to work
| through interop? If so, install the assemblies in the GAC (they need to
be
| strong named) and then register those with COM interop.
| >
| Since COM components have visibility across the whole machine, it
makes
| sense that they go in the GAC. You also won't have location/lookup
issues
| either.
| >
| Hope this helps.
| >
| --
| - Nicholas Paldino [.NET/C# MVP]
| - mv*@spam.guard. caspershouse.co m
| >
| <al******@gmail .comwrote in message
| news:11******** **************@ b28g2000cwb.goo glegroups.com.. .
| Hi,
|
| I am working on an installer application to install 2 COM components
in
| the system32 directory. I had this implemented previously to install
| to a different directory (i.e. C:\sample\dll) and it worked fine. The
| setup app seems to crash though when I changed the path to
| C:\windows\syst em32. This is the error I receive...
|
| System.Runtime. InteropServices .COMException (0x80110401) Errors
| occurred accessing one or more objects
|
| I am guessing its a configuration problem?
|
| Any help would be appreciated.
|
| Thanks!
|
|
Sep 15 '06 #7

<al******@gmail .comwrote in message
news:11******** *************@m 73g2000cwd.goog legroups.com...
| Forgive me if I didnt mention it....its a 3rd party C++ DLL
|
| Do the same rules apply here?
|
|

Does it mean that the C++ DLL is not a COM DLL or what? Plain old DLL's
don't have to be registered, they have to be copied to a private install
folder(like x:\Program Files\SomeFolde r) and this folder path should be in
the path environmant variable or their location must be stored in a
configuration file, all depends on the applications using (depending) on the
DLL and the way they load the DLL(s).

Willy.

Sep 15 '06 #8
That's the way I originally had it (private install directory), and it
was working....the DLLs were going to some folder and I was adding the
folder to the path environment variable. However, as already
mentioned, this is not possible on the server which is why this
approach was chosen.

Now I found out that you can add a System Folder to the installation
project, but the components would still need to be added to the COM+
component services catalog under my application name (i.e.
SampleApp/Components/myDll) with...

objCatalog.Inst allComponent(bs trAppIDOrName, dll, "", "");

this is the line that was throwing the error in the first place

Willy Denoyette [MVP] wrote:
<al******@gmail .comwrote in message
news:11******** *************@m 73g2000cwd.goog legroups.com...
| Forgive me if I didnt mention it....its a 3rd party C++ DLL
|
| Do the same rules apply here?
|
|

Does it mean that the C++ DLL is not a COM DLL or what? Plain old DLL's
don't have to be registered, they have to be copied to a private install
folder(like x:\Program Files\SomeFolde r) and this folder path should be in
the path environmant variable or their location must be stored in a
configuration file, all depends on the applications using (depending) on the
DLL and the way they load the DLL(s).

Willy.
Sep 15 '06 #9

<al******@gmail .comwrote in message
news:11******** *************@h 48g2000cwc.goog legroups.com...
| That's the way I originally had it (private install directory), and it
| was working....the DLLs were going to some folder and I was adding the
| folder to the path environment variable. However, as already
| mentioned, this is not possible on the server which is why this
| approach was chosen.
|
| Now I found out that you can add a System Folder to the installation
| project, but the components would still need to be added to the COM+
| component services catalog under my application name (i.e.
| SampleApp/Components/myDll) with...
|
| objCatalog.Inst allComponent(bs trAppIDOrName, dll, "", "");
|
| this is the line that was throwing the error in the first place
Ok, the DLL contains native code COM+ components, that explains the COM
exception (0x80110401). Just like COM objects, COM+ DLL's don't have to be
in the path. They are registered in the COM+ catalog (registry) using the
ComCatalog API's, sure the registration utility has to find the DLL(s),
therefore you can hardcode the path like this:

string serverPath = "c:\MyPrograms\ Components\MySe rver.dll"
objCatalog.Inst allComponent(bs trAppIDOrName, serverPath, "", "");
Willy.



Sep 15 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
7480
by: Val Mehling | last post by:
I have a program which was developed with VB5Pro under Win98SE. A Client needs it to run under WinXP. I decided to install VB5 on his machine so I can make and debug the needed changes in that environment. WinXP is telling me I don't have the rights to GRID32.OCX which is a standard VB5 component. I went to the SYSTEM32 folder and ran...
0
1476
by: Morten Gulbrandsen | last post by:
Hello programmers this is my path, C:\mysql\bin>path PATH=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\mysql\bin After installing 4.1.0-alpha-max-debug I try to start winmysqladmin.exe
5
16239
by: Tony Wright | last post by:
Hi, I am having a problem installing an msi for a web site. The error message I am getting is: "The specified path 'http://mipdev05/features/Fas2' is unavailable. The Internet Information Server might not be running or the path exists and is redirected to another machine. Please check the status of this virtual directory in the Internet...
1
9883
by: ed.barrett | last post by:
When trying to run ODBC from Control Panel->Admin Tools->Data Sources I get an error about the odbcad32.exe file - stating it is corrupted or unreadable. I have installed SQL Server 8 with sp3a. Does anyone have any ideas - I need ODBC to connect an application to my database. Thanks
11
13287
by: Vijay Chegu | last post by:
I have built a 64bit ATL COM dll. When i register the dll on IA64 windows Enterprise server 2003, i get following error. DllRegisterServer in mydll.dll failed. Return code was : 0x80020009 The command i am using to register the dll is
7
4994
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying. I created the websetup and built the MSI, have the bundled version. Copied to webserver and ran Websetup.msi. Said I had to remove old version,...
4
7294
by: coosa | last post by:
Hi, I was installing SQL Server on my machine and during installation my PC freezed. It happens frequently on my machine. So i tried after restarting to install it again and since then i always get the same error message: "An error occurred while creating one or more registry entries. Please see C:\WINDOWS\sqlstp.log for details. The...
5
2117
by: Cappy2112 | last post by:
I've just started a job which has a massive python2.3.4-centric tools installation and configuration. I know what you're going to say, but I can't upgrade and be the only one with a newer version. There are close to 30 engineers using this same tools configuration, and it has been working fine for a long time. For now, we all have to live...
11
34635
by: fniles | last post by:
We can not register an ActiveX control on our Vista 32 bit machine. When we do regsvr32 c:\windows\system32\citcp.ocx (this is a 3rd party ActiveX control), we got an error: citcp.ocx was loaded but the call to DLLRegisterServer failed with error code 0x80040200. I can successfully register MSVBVM60.DLL and MFC42U.DLL. We login to the machine...
0
7911
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
8338
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7954
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
8215
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the...
0
6610
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5710
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
3836
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2345
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
0
1179
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.