Finding a program in Program Files (x86)


  1. Posts : 2
    Windows 7 Pro 64 bit
       #1

    Finding a program in Program Files (x86)


    Running Windows 7 Pro, 64bit.

    We have a package of scripts and programs that comprise a custom application for OpenOffice 3.2 (do not want to upgrade OO at this point). We must support our package on Win XP, Vista and 7.

    A bunch of our scripts start up OpenOffice by running the command:
    C:\Program Files\OpenOffice.org 3\program\soffice.exe (with arguments).

    Works fine on XP. Fails on Win7 because the OO program installs itself into Program Files (x86). Even if I change properties of the installer file, in the Compatibility tab, to Win XP SP3, AND tell the installer to put it in C:\Program Files, Windows 7 still installs it into Program Files (x86).

    We would LIKE to have the same script work on both flavors of Windows. I know we can modify our scripts to branch on which Windows, and choose two different paths to soffice.exe, but that's messy.

    I can't solve it by creating a shortcut in Program Files, to the program in Program Files (x86); that's not allowed.

    Is there some solution in Windows 7 to find the program no matter which place it lives? Like, a semi-intelligent environment variable for ProgramFiles that looks in one place, then the other? Ie.:
    "C:\%ProgramFiles%\OpenOffice.org 3\program\soffice.exe

    Maybe I'm missing some easy solution, but so far I don't see it.
      My Computer


  2. Posts : 7,730
    Windows 7 Ultimate SP1 64-Bit
       #2

    The reason the programs plonk themselves in the Program Files (x86) must be because they are 32-bit applications.

    By default, Windows 7 64-Bit installs 32-bit applications in the Program Files (x86) folder, whilst 64-bit applications reside in the Program Files folder.
      My Computer


  3. Posts : 2,528
    Windows 7 x64 Ultimate
       #3

    Unfortuantely the environment variable for that folder is called "%ProgramFiles(x86)%" to get to the 32 bit programs folder. And apparently only even exists on the 64 bit version of W7.

    You may have to test for the existance of "%ProgramFiles(x86)%" and use if if it's defined, else use ""%ProgramFiles%"
      My Computer


  4. Posts : 2
    Windows 7 Pro 64 bit
    Thread Starter
       #4

    fseal:
    That's a pretty good suggestion. More direct than testing for flavor of Windows.

    Thanks! (But I don't mark it solved yet)
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 15:15.
Find Us