cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
tcom36
Level 7

Detecting Windows XP/Vista

Hello

I am pretty new to InstallShield 2008. Beside the main application to install, I also have to include in the installer the installation of 3rd party smartcard drivers. There are different drivers to install depending on XP or Vista, some do not even exist yet on Vista.

How do I detect within InstallShield 2008 if the installer is running on XP or Vista to install the appropriate drivers (or do I have to write one installer per OS) ?

Any help is welcome.
Dominique
Labels (1)
0 Kudos
(7) Replies
ChristopheOce
Level 7

Hi,

you can determine witch OS plateform with the property VersionNT.
Here is it the version for different os:

VersionNT
___________________
WIN 2000 500
WIN NT 400
WIN XP 501
WIN 2003 502
WIN VISTA 600


Now, on your component (driver or exe or dll or ..) you have just to add a condition as this for exemple :
VersionNT = 600

if you want that your component is install on vista!

Hope this help..
Sorry my english is bad !!!

Have a nice day
Christophe
0 Kudos
tcom36
Level 7

Hi Christophe

Thank you for your quick reply, I will try it. No problem with your english btw.

Dominique
0 Kudos
yeeht19
Level 5

Hi,

I have some questions about Operating system in MSI Basic project as well. My application just run in XP Professional, not in Home edition. How do i differentiate this?

Thanks & Regards,
HY
0 Kudos
ChristopheOce
Level 7

Hi,

i don't understand what you said when you write that your application is not RUN on windows xp home !

Is there a problem when you launch the setup.exe OR when you use the property versionNT in your project or perhpas problem when you run the exe who is installed ?
Is there any errors message, log file ?

If there is a problem when you start your application by double clicking on your setup.exe, start your application with the trace :

drag the file yourApplication.msi in a command dos and type this

.....\YourApp.msi /l*v c:\path to log file\logFileName.log


Have a nice day
Christophe
0 Kudos
heiner_violet
Level 7

Try to use property MsiNTSuitePersonal. According to http://msdn2.microsoft.com/en-us/library/aa370334(VS.85).aspx its value is 1 if setup is running on xp home.

H.
0 Kudos
yeeht19
Level 5

Hi Christophe,

Sorry for not stating my problem clear.
My application doesn't support windows XP Home edition. How do i set the condition to check whether the OS is XP Professional or Home? How about cheking for Vista Business, Enterprise and Ultimate?

Thansk for your quick response.

Regards,
HY
0 Kudos
ChristopheOce
Level 7

Hi,

sorry but for our application we put a condition just for to check if the computer is a xp or vista we don't check if there is a home, professionnel edition !

If i ask you, why do you check if there is a version home or pro ?!

But for your problem have you look at the property : MsiNTSuitePersonal as i said heiner_violet ?

If this doesn't work, try to check a key in the registry here :


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion


There are two key who i think there is interesting :
ProductName and currentVersion

Verify on a windows xp home if the version and product name is different than the version professionnel. Sorry i haven't a version home or profesionnel at the moment !

Tell me what !

Have a nice day
Christophe
0 Kudos