cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
doozerIA
Level 3

Action rule 'Check platform' does not detect Windows XP!

Hi,

On the Set InstallAnywhere Variable action, I have set a rule using Check Platform to detect "Windows XP" and set the user magic variable if my platform is Windows XP.

I am using Windows XP SP3 and the variable does not get set. When I run the installer on XP it does not detect that I am using "Windows XP"!

Is this a bug in IA2010?

If I change the rule to be "Windows 7" and run on Windows 7 instead then it detects that platform just fine and sets the variable OK. Also I can successfully get other rules such as Check Architecture rule to work to check for 32bit/64bit etc.


Thanks.
Labels (1)
0 Kudos
(3) Replies
pv7721
Level 20

As IA is a Java-based installer tool, anything passes through Java, even platform detection (i.e. the detection code simply asks the running JVM which is the OS string code) (this for instance was a problem for older JVMs released before newer Windows OSes which falsely reported the OS to the most recent they knew at the time they were released). So my question are:
- do you bundle any VM, and if yes, which one is that?
- you said Windows XP SP 3 is not recognized, do you happen to know what platform your installer thinks it is on?
0 Kudos
doozerIA
Level 3

pv7721 wrote:
As IA is a Java-based installer tool, anything passes through Java, even platform detection (i.e. the detection code simply asks the running JVM which is the OS string code) (this for instance was a problem for older JVMs released before newer Windows OSes which falsely reported the OS to the most recent they knew at the time they were released). So my question are:
- do you bundle any VM, and if yes, which one is that?
- you said Windows XP SP 3 is not recognized, do you happen to know what platform your installer thinks it is on?


Hi Vlad,

Yes I bundle a VM on Windows - JRE 1.6.0.

From the install.log file, the installer thinks it is on the following platform:

os.name == Windows XP
os.arch == x86
os.version == 5.1 build 2600 Service Pack 3

So I cannot figure out why it is not detecting this.
It has to be a bug in IA, doesn't it?

Thanks.
0 Kudos
doozerIA
Level 3

In the meantime, I have found a somewhat crude workaround.

Using the Check Platform rule, I can put Windows(All) in the "Perform on" list, and then put all other Windows variants (e.g. NT, 2000, 2003, Vista, 7) in the "Do Not Perform On" list.

This then detects at least that my Win XP is a version of Windows!

Of course, if it doesn't correctly detect other variants such as 2000, 2003 etc then the workaround is flawed as the action would also be performed on those platforms.
0 Kudos