Installshield Check Operating System
When distributing a mixed 32/64-bit package, the application installed by the package may use a 32-bit or 64-bit version of the same registry key. In this How-To, the package must create a 32-bit version or a 64-bit version of the HKEY_LOCAL_MACHINESoftwareMyKey registry key.
The tree control in the Registry page does not support duplicate entries, but the 'Registry' table inside the MSI supports them. Therefore, a solution is to create a key which uses a property in its name. Here are the steps for the HKEY_LOCAL_MACHINESoftwareMyKey registry key (you can adapt the example to your custom registry keys):
Jul 17, 2006 - I'm using (VersionNT=501) to determine that it's Windows XP. Do you require in XP and checking for that functionality instead of OS type. How do I install resources based on the Operating System version? The following article uses options that are available starting with the Professional edition and project type. A complete installation package should be able to install an application on any version or type of Windows Operating System. Click OK to save the entry on the System Search page. This search sets the criterion that determines whether the installation continues or aborts. Now, you add a launch condition based on this search result.
- Go to the 'Registry' page and create the HKEY_LOCAL_MACHINESoftwareMyKey registry key
- Add your 32-bit registry values in it
- Go to the Organization page and select the feature which contains the registry values
- Press SHIFT+F4 on your keyboard to see the contents of the feature
- Select the components of the 32-bit registry values, right-click one of them and select the 'Properties' menu
- In the 'Edit Component Properties' dialog set the Condition field to NOT VersionNT64
- Go to the Install Parameters page and create a custom property (for example MY_REG_KEY)
- Set its value to the name of your custom registry key (MyKey)
- Go to the 'Registry' page and select the parent key of your custom registry key (HKEY_LOCAL_MACHINESoftware)
- Create under it a new registry key
- Rename it to the custom property you created ([MY_REG_KEY])
- Now you should have these keys: HKEY_LOCAL_MACHINESoftwareMyKey and HKEY_LOCAL_MACHINESoftware[MY_REG_KEY]
- Add the 64-bit registry values in the [MY_REG_KEY] key
- Go to the 'Organization' page and select the feature which contains them
- Press SHIFT+F4 on your keyboard and select the components of the 64-bit registry values
- Right-click one of them and select the 'Properties' menu
- In the 'Edit Component Properties' dialog set the Condition field to VersionNT64
- Tick the option 64-bit Component
If the 32-bit values are in the same feature as the 64-bit values, the components of the values with the same name will be different. For example, if you add the 'MyValue' registry value in one key and then add it in another key, the components will be named:
- MyValue for the first key
- MyValue_1 for the second key
If you use this approach, the package will determine the type of the target system (32/64-bit) by using the 'VersionNT64' property. Also, it will install only the components which correspond to the system type.
I am creating a new installer for Windows using InstallShield. I am new to InstallShield. In the installer I am to install one component only on windows 8.
So what should I put in the install condition for that component? Can I use VersionNT
or MsiNTProductType
.
However I could not find the value of these variables for Windows 8. Is there any other way of doing this?
Lg 23et83v-w drivers for free. Get product support for the LG 23ET83V-W. Download 23ET83V-W manuals, documents, and software. View 23ET83V-W warranty information and schedule.
Thanks in Advance.
Jon EgertonHp Operating System Check
Operating System Tutorial
2 Answers
FWIW, I usually avoid using OS Version Properties like this in conditions. What I usually try to do is ask myself what is it about that platform that is really important to me. Do I need a certain version of IIS? Do I need a certain service that's new in that version? Do I need a higher version of the .NET framework and so on.
Then I write a search and condition based on that relationship.