This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: LegacyRegistryService on Solaris running as root.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 23, 2006
12:23 AM
LegacyRegistryService on Solaris running as root.
Posting it here as I have observed the problem in ISMP 11.5
--------------------------------------------------------------------------------
Hello,
I am using a custom bean inside an IS10.5 Universal installer to detect an earlier version of my product (that earlier version was build using ISMP 5.03x, so it uses the previous vpd.properties mechanism).
So, I do something like this, in order to obtain the handle to the old vpd:
LegacyRegistryService regserv = (LegacyRegistryService)getService(LegacyRegistryService.NAME);
[rest of the code looks up a software object key, etc ...]
This works on Linux, and AIX, always. But on Solaris and HP-UX it only works when logged in under a regular userid. If they are running as root, this call fails -- see exception at the bottom of this message. (When running as root on Solaris or HP, ISMP and IS10.5 do not use the vpd registry, but rather, they use the native software database on these OSs, so this seems to be the reason).
So, is there a single call I can make that will shield me from this disparity on these two OSs ? In the docs for RegistryService is says the following:
There are potentially two registries on a target system:
VPD Registry)—Is platform independent
Platform registry—Is platform dependent
The Registry Service updates both of these registries.
but this is a little mysterious. I would have prefered to see it say, something like "... it updates, and/or reads from both of these registries, where applicable".
I suppose I can work around that by running a swlist, or pkginfo process and getting the information that way, but I'd prefer to not have to check what kind of user is running the installer. (In fact, I cannot assume it will be the user named 'root' because on both of these systems, the userid where this is failing is named 'altadmin' but seems to be fairly root-like. I haven't looked into what priviledges I need to have in order to be sure that the LegacyRegistryService won't be there).
Any pointers or help you may have, or any code fragments would be very much appreciated.
Nick.
Here is the exception:
(Nov 10, 2005 7:19:50 AM), Install,., dbg, Please wait -- searching for other versions
...
(Nov 10, 2005 7:19:51 AM), Install, com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl, err, java.lang.ClassCastException
STACK_TRACE: 16
java.lang.ClassCastException
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.setSolarisPackageName(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.loadSoftwareObject(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.readVPD(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.initializeRegistry(Unknown Source)
at com.installshield.product.service.legacyregistry.LegacyPureJavaRegistryServiceImpl.initialized(Unknown Source)
at com.installshield.wizard.service.AbstractServiceImplementor.initialize(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createImpl(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createService(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createService(Unknown Source)
at com.installshield.wizard.service.LocalWizardServices.loadService(Unknown Source)
at com.installshield.wizard.service.LocalWizardServices.getService(Unknown Source)
at com.installshield.wizard.WizardBean.getService(Unknown Source)
at..execute(FindExistingSoftware.java:51)
at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)
--------------------------------------------------------------------------------
Last edited by GLInick : 11-09-2005 at 08:55 PM.
GLInick
View Public Profile
Send a private message to GLInick
Find all posts by GLInick
Add GLInick to Your Buddy List
#2 Today, 12:04 AM
InfrISUser
New User (0 Posts) Join Date: Jun 2006
Posts: 3
Hi,
I am facing the same problem.
Is there any fix for the same.
Please reply ASAP.
Regards
--------------------------------------------------------------------------------
Hello,
I am using a custom bean inside an IS10.5 Universal installer to detect an earlier version of my product (that earlier version was build using ISMP 5.03x, so it uses the previous vpd.properties mechanism).
So, I do something like this, in order to obtain the handle to the old vpd:
LegacyRegistryService regserv = (LegacyRegistryService)getService(LegacyRegistryService.NAME);
[rest of the code looks up a software object key, etc ...]
This works on Linux, and AIX, always. But on Solaris and HP-UX it only works when logged in under a regular userid. If they are running as root, this call fails -- see exception at the bottom of this message. (When running as root on Solaris or HP, ISMP and IS10.5 do not use the vpd registry, but rather, they use the native software database on these OSs, so this seems to be the reason).
So, is there a single call I can make that will shield me from this disparity on these two OSs ? In the docs for RegistryService is says the following:
There are potentially two registries on a target system:
VPD Registry)—Is platform independent
Platform registry—Is platform dependent
The Registry Service updates both of these registries.
but this is a little mysterious. I would have prefered to see it say, something like "... it updates, and/or reads from both of these registries, where applicable".
I suppose I can work around that by running a swlist, or pkginfo process and getting the information that way, but I'd prefer to not have to check what kind of user is running the installer. (In fact, I cannot assume it will be the user named 'root' because on both of these systems, the userid where this is failing is named 'altadmin' but seems to be fairly root-like. I haven't looked into what priviledges I need to have in order to be sure that the LegacyRegistryService won't be there).
Any pointers or help you may have, or any code fragments would be very much appreciated.
Nick.
Here is the exception:
(Nov 10, 2005 7:19:50 AM), Install,
...
(Nov 10, 2005 7:19:51 AM), Install, com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl, err, java.lang.ClassCastException
STACK_TRACE: 16
java.lang.ClassCastException
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.setSolarisPackageName(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.loadSoftwareObject(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.readVPD(Unknown Source)
at com.installshield.wizard.platform.legacysolaris.LegacySolarisRegistryServiceImpl.initializeRegistry(Unknown Source)
at com.installshield.product.service.legacyregistry.LegacyPureJavaRegistryServiceImpl.initialized(Unknown Source)
at com.installshield.wizard.service.AbstractServiceImplementor.initialize(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createImpl(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createService(Unknown Source)
at com.installshield.wizard.service.ServiceFactory.createService(Unknown Source)
at com.installshield.wizard.service.LocalWizardServices.loadService(Unknown Source)
at com.installshield.wizard.service.LocalWizardServices.getService(Unknown Source)
at com.installshield.wizard.WizardBean.getService(Unknown Source)
at
at com.installshield.wizard.RunnableWizardBeanContext.run(Unknown Source)
--------------------------------------------------------------------------------
Last edited by GLInick : 11-09-2005 at 08:55 PM.
GLInick
View Public Profile
Send a private message to GLInick
Find all posts by GLInick
Add GLInick to Your Buddy List
#2 Today, 12:04 AM
InfrISUser
New User (0 Posts) Join Date: Jun 2006
Posts: 3
Hi,
I am facing the same problem.
Is there any fix for the same.
Please reply ASAP.
Regards
(3) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 29, 2006
01:33 PM
I am experiencing the same issue. Have you contacted InstallShield support regarding this? If not I will.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 06, 2006
04:27 AM
I have not contacted support.
If you get a solution please let me know.
Regards
If you get a solution please let me know.
Regards
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 06, 2006
08:25 AM
I opened a case with InstallShield Support. This is their reply.
This problem has been reproduced and determined to be an issue in our software. This issue has been submitted to our Engineering team as Issue # IOC-000051059. Currently, there is no workaround.
Our Engineering team is investigating this issue, but at this moment, there is no estimated time frame for when it will be fixed. You can track the status of this issue by checking product release notes or searching our Knowledge Base through eService.
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)