Answered Bootstrapper - BypassIf

  • Monday, February 28, 2011 11:01 PM
     
     

    I have found a few examples on ways to do conditional installs based on platform (eg x86 vs x64). One example I found is the following:

    <BypassIf Property="VersionNT64" Compare="ValueNotExists" Value="N/A for ValueExists and ValueNotExists" />

    What I am not sure about is what [Value="N/A for ValueExists and ValueNotExists"] actually does?

    Would the following give me a different result?

    <BypassIf Property="VersionNT64" Compare="ValueNotExists" />

    or the inverse

    <BypassIf Property="VersionNT64" Compare="ValueExists" />

     

    Reading it, it would seem that the VersionNT64 would end up being "N/A" in all cases? So I am thinking I might have found a bad example.

     

    What I really want is a reliable way to determine if I am or am not on a x64 platform.

     


    Kurt

All Replies

  • Wednesday, March 02, 2011 11:47 AM
    Moderator
     
     Answered Has Code

    Hi kurtis01,

     

    I think you can use the following code line to judge the platform:

     

    <FailIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="IA64"/>
    
    <BypassIf Property="ProcessorArchitecture" Compare="ValueEqualTo" Value="amd64" />
    
    For x86:
    <BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel" />
    

     

    And this article will be a suitable one for you:

    http://youarenotexpectedtounderstandthis.blogspot.com/2009/08/vsnet-2008-prerequisite-for-sql-server.html

     

    And I think this is a Windows Installer XML(WIX) question, is it? Since I'm not familiar with this technical. 

     

    And if so, I think the following website is suitable for you to research WIX question:

    http://wix.sourceforge.net/mailinglists.html

    There're more WIX expert will show you the expert help, when you need the WIX help.

     

    If there's any concern, please feel free to let me know.

    Best wishes,


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

  • Monday, March 07, 2011 4:36 PM
    Moderator
     
     

    Hi kurtis01,

    I am writing to check the status of the issue on your side.

     

    What about this problem now?

     

    Would you mind letting us know the result of the suggestions?

     

    Best wishes,


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

  • Friday, April 01, 2011 4:59 PM
     
     

    Sorry, just noticed the reply.

    Let me ask a more specific quesiton, will all x86 systems be ProcessorArchitecture == Intel?

    I will give a varioation of this a try and let you know next week.


    Kurt
  • Friday, April 01, 2011 10:42 PM
    Moderator
     
     
    I believe this is following the same convention as the Windows Installer property VersionNT64. On an 32-bit operating system this property does not exist, so the ByPassif is saying "bypass if the VersionNT64 property does not exist", meaning that it is a 32-bit OS.
    Phil Wilson
  • Monday, April 04, 2011 3:32 AM
    Moderator
     
     

    Hi Kurtis01,

    I will go on to follow up this thread once you show us any update.

    And you also can let us know the results after you try these suggestions from PhilWilson and my reply.

     

    Have a nice day!


    Mike [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.