cancel
Showing results for 
Search instead for 
Did you mean: 
RaviPatel
Occasional contributor

Accessing the InstallShield Database at Run Time

https://community.flexera.com/t5/InstallShield-Knowledge/Accessing-the-MSI-Database-at-Run-Time/tac-...

 As per the above article, I am able to get values of the MSI database table for ComboBox or any MSI database table. However, when I tried to run on the InstallShield specific table (tables starts with IS), it throws the following error: 

1615 (Error.BadQuerySyntax) \"SELECT * FROM ISProductConfigurationInstance\". 

Is there any way to access values of InstallShield specific tables?

NOTE: We are using managed code (c# standard action and Install.ActiveDatabase.OpenView API) to get database values. 

 

0 Kudos
5 Replies
Highlighted
Community Manager cvirata Community Manager
Community Manager

Re: Accessing the InstallShield Database at Run Time

Hi @RaviPatel,

Looks like your question is specific to the InstallShield product. I will go ahead and move your question to the appropriate forum so you can get the assistance you need. 

Regards,

Christine Virata-Stone

Flexera Community

0 Kudos
Flexera Jenifer
Flexera

Re: Accessing the InstallShield Database at Run Time

Hi @RaviPatel ,

 

You can't query installshield specific tables from MSI table since MSI database table will only contain tables specific to Windows installer's pre-defined tables.

InstallShield specific tables are used to interpret given values during build time and be saved in MSI specific table values so those tables won't be present in MSI database.

 

Thanks,

Jenifer

0 Kudos
RaviPatel
Occasional contributor

Re: Accessing the InstallShield Database at Run Time

@Jenifer Thanks for your response. Is there any way to determine values of tables which are pertaining to InstallShield and not a part of MSI database? I just want to determine no of instances configured in the release where Multiple Instances are defined.
0 Kudos
Flexera Jenifer
Flexera

Re: Accessing the InstallShield Database at Run Time

Hi @RaviPatel ,

 

I dont think so that would be possible in run-time.Just curious about use-case or scenario so that we could go for suggestions during build time or some customization like custom-action or script related stuff.

 

Thanks,

Jenifer

0 Kudos
Flexera Varaprasad
Flexera

Re: Accessing the InstallShield Database at Run Time

@RaviPatel ,

Setup.exe launcher handles multiple Instances support, hence MSI tables will not store this information.

During build process, InstallShield writes this information (present in ISProductConfigurationInstance table in ISM file) to the setup.ini as below.

[Instances]
count=3
key0=InstanceId1
key1=InstanceId2
key2=InstanceId3
[InstanceId1]
InstanceId=1
ProductCode={8E2CED43-943E-44BE-829E-AA3B534DDACC}
[InstanceId2]
InstanceId=2
ProductCode={6D103F95-9942-4E62-B534-027CF68E31C5}
[InstanceId3]
InstanceId=3
ProductCode={8B122D1B-A089-4CFF-AB7E-5900160ECE8D}


As @Jenifer mentioned, you can read this information from your managed custom action.