Spregpkg Unresponsiveness

Discussions related to SoftPro Select user interface development.

Moderator: Phil Barton

Post Reply
dlerickson
Posts: 80
Joined: Tue Jan 21, 2014 11:35 am
Location: Austin, TX

Spregpkg Unresponsiveness

Post by dlerickson »

Guys,

What EXACTLY does spregpkg.exe do? I'm trying to unregister a particular package in order to replace it with a newer version, and no matter what I do, it still shows up in the package listings in the About section of Select. Is there any sort of logging available for spregpkg? ILDASM shows an "/out" switch, but specifying this doesn't seem to produce anything.

I've even taken the step of ripping my package out of the registry, which I'm loathe to do, but I'm at my wit's end and fresh out of options here. How do we *completely* remove a package out of the system?
BobRichards
Posts: 1376
Joined: Wed Jan 15, 2014 3:50 pm
Location: Raleigh, NC
Contact:

Re: Spregpkg Unresponsiveness

Post by BobRichards »

Look in the SDK Help file (system Windows button -> SoftPro Select SDK -> SoftPro Select SDK) at the How-To -> Shell Package Development -> Register/Deploy a Package topic for information on how to use this utility to register and unregister a client package. It scans the spspkg file and modifies the system registry in response to the embedded attributes. As the SDK Help file topic states, use the following commands to register/unregister a client package in the main or experiment (Exp) hive.
  • To register the ProForm package in the default hive:
    • spregpkg.exe /m:register /p:SoftPro.Select.ProForm.dll
    • select.exe /setup
  • To unregister the ProForm package from the default hive:
    • spregpkg.exe /m:unregister /p:SoftPro.Select.ProForm.dll
    • select.exe /setup
  • To register the ProForm package in the Exp hive:
    • spregpkg.exe /m:register /rootsuffix:Exp /p:SoftPro.Select.ProForm.dll
    • select.exe /setup
Bob Richards, Senior Software Developer, SoftPro
dlerickson
Posts: 80
Joined: Tue Jan 21, 2014 11:35 am
Location: Austin, TX

Re: Spregpkg Unresponsiveness

Post by dlerickson »

Right. What I'm saying is that running spregpkg.exe /m:unregister /p:MyPackage.dll (with the subsequent call to select.exe /setup) is not actually removing the registry entries for MyPackage.dll. I've done this many times, and its behavior is not consistent. So:

A. What blockers would prevent it from operating correctly (permissions come to mind, but no error messages pop up in the console), and
B. Does the undocumented /o: switch that I found actually do any output logging? What is its purpose?
BobRichards
Posts: 1376
Joined: Wed Jan 15, 2014 3:50 pm
Location: Raleigh, NC
Contact:

Re: Spregpkg Unresponsiveness

Post by BobRichards »

(A) You do need to use an administrative account to run the spregpkg utility. When I run the utility in a non-admin account, I get the message:
Access to the registry key 'HKEY_LOCAL_MACHINE\Software\SoftPro\Select\4.3' is denied.
(B) The "o" switch is optional and only used with package registration - not unregister.

As a developer, if you are running Select from Visual Studio, it is using the experimental hive (HKLM\SOFTWARE\WOW6432Node\SoftPro\Select\4.3Exp). Any packaged registered in the Exp hive must be unregistered using the rootsuffix argument:
spregpkg.exe /m:unregister /rootsuffix:Exp /p:MyPackage.dll
How are you starting Select?
Bob Richards, Senior Software Developer, SoftPro
dlerickson
Posts: 80
Joined: Tue Jan 21, 2014 11:35 am
Location: Austin, TX

Re: Spregpkg Unresponsiveness

Post by dlerickson »

This was for deployment on our Development server, not using the Exp hive. Everything runs fine on my local machine using VS in debug mode, etc. I'm fairly certain that for our Dev environment, I had admin rights. I didn't see any sort of error messaging concerning access rights; spregpkg runs uneventfully for both register and unregister modes.

On the dev server, I've started Select via both icon and off the command line, using "Select.exe /log", which does work in producing a log. Nothing seems out of the ordinary here, except for the fact that the allegedly unregistered packages are still showing in the "About Select" section, where the list of all the installed products is displayed. The registry entries for the unregistered packages are still in the 4.3 hive, as well. This is what leads me to my question of what *exactly* is the spregpkg unregister process doing, or supposed to be doing. I can't tell if this is supposed to be normal behavior or not.
BobRichards
Posts: 1376
Joined: Wed Jan 15, 2014 3:50 pm
Location: Raleigh, NC
Contact:

Re: Spregpkg Unresponsiveness

Post by BobRichards »

Sorry you are having problems. I will pass your issue to R&D and let you know their response. It may take several days to hear back from them.
Bob Richards, Senior Software Developer, SoftPro
Post Reply