Page 1 of 1

Determining 64-bit Operating System

Posted: Mon Jan 05, 2009 12:16 pm
by jkrasky
Hello,

One of the components of my installation is a driver which only supports 32 bit operating systems at this time. I would like to construct some way to test if the machine is running a 64 bit operating system and make the one component non-selectable in the installer User Interface when running on a 64-bit operating system.

Is there a way to do this? I see that Get System Settings will tell me Processor Architecture but that doesn't help. You can have a processor which is 64-bit capable and be running a 32-bit operating system.

I know that InstallAware is capable of installing 32-bit and 64-bit components from the same installer so there has to be a way to do this that I'm just not understanding.

Thanks in advance!

Posted: Mon Jan 05, 2009 2:47 pm
by zims
You can use the Get System Settings command and select Windows is 64 bit mode.

For your next question on how to disable/hide the component on 64-bit computer you can use the following commands.
Set component visibility will make it possible for you to "hide" the component.
Set component choice will make it possible for you to make sure the user can't select to component.

Zims

Posted: Mon Jan 05, 2009 3:25 pm
by jkrasky
Hello zims,

Thanks for the information. I now have the check implemented to determine if the operating system is 64 bit.

The problem I'm running into is I have defined a custom Setup Type user interface panel which has 4 options. These 4 options represent the various combination of our application components. What I really want to do is grey out the selection of the two which require 32 bit operation systems or make it throw an error when the user clicks Next indicating that the component can't be installed on 64-bit machines.

I can see how I can use set component visibility and set component choice to impact what is shown on the componentstree panel. But I see how way of influencing the UI panel based on the result of a variable. In this case I have a variable called WINISX64 which has the result from the Get System Settings command.

Is there a way to make a user interface panel prohibit certain actions based on the result of a variable? Is there any way to do what I'm trying to do?

Thanks!

Posted: Mon Jan 05, 2009 3:39 pm
by zims
Yes it is possible, I do exatly the same thing in my SetupType dialog. I found the solution when I was looking at the dialog dialog_Finish

If you open the dialog dialog_Finish that is automatically created for you can se that that it has two labels that have Visible=false.

These 2 labels has a variables as captions. What you can do now is to use the caption to hide/show or enable/disable your options.

The Checkbox for restarting the computer in the dialog dialog_Finish is shown or hidden in the exat same way as you want to. Take a look at this dialog and I guess you will see the solution.

If you have not noticed yet you can dbl.click a control in the dialog editor to "interact" with the dialog.

Not sure how to describe this, I think the example in the dialog dialog_Finish is the best way for you to understand. But if you need more help I will try.

I accualy think this a strange way of doing it but since a dialog can not read variable I guess using a label to "read" the variable is the only way. Anyway it works so I am satified with that :)

Zims

Posted: Mon Jan 05, 2009 4:16 pm
by jkrasky
Hello zims,

Awesome, thank you! I understand what is going on and will implement it today. Thanks again for your help!