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

SYSINFO.WINNT.bWin7_Server2008R2 does not work in InstallShield 2010

Hello,

I use the 32 bit system to build an Installscript-MSI package to install into the IA64 bit system with Windows Server 2008 R2.

As I use the three commands below in the IS 2010 to retrieve the version for Windows Server 2008 R2, the nWinMinor and the WINNT.bWin7_Server2008R2 does not return the correct value for me.

NumToStr(majorVer,SYSINFO.nWinMajor);
NumToStr(minorVer,SYSINFO.nWinMinor);
NumToStr(r2,SYSINFO.WINNT.bWin7_Server2008R2);

Here is the result after I install the package.

SYSINFO.nWinMajor = 6. This is correct
SYSINFO.nWinMinor = 0. This is not correct. It supposes to be 1.
WINNT.bWin7_Server2008R2 = false. This is not correct. It supposes to be true.

Would anyone please let me know if I miss to set some flag for IA64 system, or this is a know issue for InstallShield 2010?
Labels (1)
0 Kudos
(10) Replies
timstspry
Level 7

If I am not mistaken, Windows Server 2008 R2 is still in beta? Not sure you can expect IS2010 to function properly against a beta OS?

Tim
0 Kudos
Mike_Marino
Level 6 Flexeran
Level 6 Flexeran

Where are you placing the code (what event), or is this in an InstallScript Custom Action in a InstallScript MSI project?
0 Kudos
giaotrangmi
Level 3

Hi Timstspry,

InstallShield 2010 does support Windows 2008 R2. Please see this link http://kb.acresso.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q200329&sliceId=


Hi Mike,

This is the installscript custom action in the InstallScript-MSI project.
This action is placed after AppSearch action. At this moment in sequence the major version could retrieve successfully, but the minor version could not.

I also try to place this action after InstallFile action and before InstallService action, but the minor version and WINNT.bWin7_Server2008R2 still do not give the right value.
0 Kudos
giaotrangmi
Level 3

Mike Marino wrote:
Where are you placing the code (what event), or is this in an InstallScript Custom Action in a InstallScript MSI project?


Hi Mike,

I post reply twice but I don't see it shows up, so I use this quote to reply.

This is the custom action in the InstallScript MSI.

This action is place after AppSearch action in the sequence. At this moment, the major version value is retrieved successfully, but the minor version value is not.

I also try to place this action far down in the sequence. (after InstallFiles action and before InstallServices action). The result still the same as above.
0 Kudos
giaotrangmi
Level 3

timstspry wrote:
If I am not mistaken, Windows Server 2008 R2 is still in beta? Not sure you can expect IS2010 to function properly against a beta OS?

Tim


Hi Timstspry,

InstallShield 2010 does support Windows server 2008 R2. Please see this link http://kb.acresso.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=Q200329&sliceId=
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

giaotrangmi wrote:
This is the custom action in the InstallScript MSI.
Since this is not in an event, this is due to a Windows shim which causes GetVersion to lie during Windows Installer custom actions (see http://blogs.msdn.com/cjacks/archive/2009/05/06/why-custom-actions-get-a-windows-vista-version-lie-on-windows-7.aspx). At this time, the best workaround is to parse the VersionNT property, or, depending on how you use it, just condition your custom action off of that property.
0 Kudos
giaotrangmi
Level 3

MichaelU wrote:
Since this is not in an event, this is due to a Windows shim which causes GetVersion to lie during Windows Installer custom actions (see http://blogs.msdn.com/cjacks/archive/2009/05/06/why-custom-actions-get-a-windows-vista-version-lie-on-windows-7.aspx). At this time, the best workaround is to parse the VersionNT property, or, depending on how you use it, just condition your custom action off of that property.


Hi MichaelU,

Thanks for your work around suggestion. At this point, I still don't know how to use it (versionNT) within script.

Anyway, I has concern that InstallShield 2010 does release a new sysInfo member which is SYSINFO.WINNT.bWin7_Server2008R2. How come it does not work in Windows Server 2008 R2. I always get "0" back.
0 Kudos
giaotrangmi
Level 3

MichaelU wrote:
Since this is not in an event, this is due to a Windows shim which causes GetVersion to lie during Windows Installer custom actions (see http://blogs.msdn.com/cjacks/archive/2009/05/06/why-custom-actions-get-a-windows-vista-version-lie-on-windows-7.aspx). At this time, the best workaround is to parse the VersionNT property, or, depending on how you use it, just condition your custom action off of that property.


Hi MichaelU,

I use work around in the installscript, and it works now. Here's how I do it.
if (ERROR_SUCCESS = MsiGetProperty (hMSI, "VersionNT", versionR2, nvSize)) then
MessageBox(versionR2, INFORMATION);
endif;

I get 601 in message box.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Yup, that's how to get it; glad you figured it out! As for the bWin7_Server2008R2 member, it should work fine in pure InstallScript projects, and in events in InstallScript MSI (including OnFirstUIBefore), just not in custom actions. At some point we may look into an internal workaround, if we can find a reasonable API that Microsoft doesn't shim out from under us. 😉
0 Kudos
giaotrangmi
Level 3

MichaelU wrote:
Yup, that's how to get it; glad you figured it out! As for the bWin7_Server2008R2 member, it should work fine in pure InstallScript projects, and in events in InstallScript MSI (including OnFirstUIBefore), just not in custom actions. At some point we may look into an internal workaround, if we can find a reasonable API that Microsoft doesn't shim out from under us. 😉


Thanks for your help Mike.

Regards,

Giao Nguyen
0 Kudos