What actually happens during /regserver & /unregserver?

3

1

I am installing a program on a server and uninstalling the program from a separate computer.

Server: Windows Server 2008 R2 Computer: Windows 7 Ultimate

I have found the installer & uninstaller at the same point. These 2 machines are on a domain with a Group Policy enforcing settings.

When installing the program they stop at

"C:\Lumesnion\admin\smc.exe" /regserver

In the install log. They stop at

"C:\Lumesnion\admin\smc" /unregserer

In the uninstall log.

Is this an issue with the registry editor being locked down? I cannot get any information as to why they are stuck there. I have enabled registry editing though regedit and they still hang.

Can anyone tell me what /regserver and /unregserver is actually doing and how I can fix it so the program actually installs successfully?

EDIT 1: Forgot to add I am a Domain Admin and a Local Admin on the machine. I am installing the program with "Run As Administrator".

EDIT 2: Installing Lumension Device Control.

EDIT 3: Just did a test and started the installer using Process Monitor and it shows a "FAST IO DISALLOWED" in the folder the smc.exe is to be installed. Still doing some research and wondering if this has anything to do with the issue. As far as I understand the /regserver is used to Register DCOM values but the Fast I/O is what does the registering. Unless I don't have the understood correctly. Am I wrong?

JukEboX

Posted 2017-01-06T20:28:34.680

Reputation: 371

this registers ActiveX files – magicandre1981 – 2017-01-06T20:44:12.910

Edited original post. Forgot to add information that I am an administrator. – JukEboX – 2017-01-06T20:53:43.280

@Ramhound I have it running on a non-Group policy system and it installed correctly. Luckily I have only 4 group policies enabled but they are very indepth. I figured this would be able to point me in the right direction. Program in called smc.exe. – JukEboX – 2017-01-06T21:15:04.587

@Ramhound added the program to the post. Also I have looked up a registry fix for the installation but the fix was applied and did nothing to fix the problem. – JukEboX – 2017-01-06T21:33:59.127

You say the program is Lumension Device Control., but in a comment you mention the installer is calling smc.exe which is connected to Symantec software. – Ramhound – 2017-01-06T22:40:14.357

@Ramhound there is a System Management Control portion of the software which is the installed program (smc.exe) – JukEboX – 2017-01-10T13:15:18.520

Answers

3

Can anyone tell me what /regserver and /unregserver is actually doing?

Self-Registration:

Besides the licensing issues, which are handled through IClassFactory2, an installation procedure typically creates the necessary registry entries for a component to run properly in the COM and OLE context.

Additionally:

The existence of this data allows any interested party, such as an application that wishes to integrate this new component, to determine whether the server supports self-registration without having to load the DLL or EXE first.

If the server is packaged in a DLL module, the DLL must export the functions DllRegisterServer and DllUnregisterServer. Any application that wishes to instruct the server to register itself (that is, all its CLSIDs and type library IDs) can obtain a pointer to DllRegisterServer through the GetProcAddress function. Within DllRegisterServer, the DLL creates all its necessary registry entries, storing the correct path to the DLL for all InprocServer32 or InprocHandler32 entries.

When an application wishes to remove the component from the system, it should unregister that component by calling DllUnregisterServer. Within this call, the server removes exactly those entries it previously created in DllRegisterServer. The server should not blindly remove all entries for its classes because other software may have stored additional entries, such as a TreatAs key.

If the server is packaged in an EXE module, the application wishing to register the server launches the EXE server with the command-line argument /RegServer or -RegServer (case-insensitive). If the application wishes to unregister the server, it launches the EXE with the command-line argument /UnregServer or -UnregServer. The self-registering EXE detects these command-line arguments and invokes the same operations as a DLL would within DllRegisterServer and DllUnregisterServer, respectively, registering its module path under LocalServer32 instead of InprocServer32 or InprocHandler32.

"Is this an issue with the registry editor being locked down?"

It is very likely this has to do with the fact you are not an Administrator on the domain. However, this is not possible to actually answer beyond a shadow of a doubt, based on the information you have supplied us.

Can anyone tell me what /regserver and /unregserver is actually doing?

It simply registers the application so it can communicate with the COM library

These 2 machines are on a domain with a Group Policy enforcing settings

.....

When installing the program they stop at

.....

How I can fix it so the program actually installs successfully?

The simplest fix is to have a user, with Administrator rights on the Active Domain, install the application.

Ramhound

Posted 2017-01-06T20:28:34.680

Reputation: 28 517

Sorry forgot to add that I am a Domain Admin and a Local Admin on the machine. I am installing the program with "Run As Administrator". Editing original post. – JukEboX – 2017-01-06T20:52:49.363

1If you are installing it as an Administrator, and it still doesn't work, then you have a conflciting group policy enabled. – Ramhound – 2017-01-06T20:54:44.700

I do have a group policy enabled. I am trying to figure out what setting could be blocking it. Understanding this /regserver issue I figured would point me in the right direction. – JukEboX – 2017-01-06T21:13:56.503