Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to allow 32 bit apps on 64 bit windows to execute 64 bit apps provided in Windows\System32
    primarykey
    data
    text
    <p>Say you have an app, that you want to provide users ability to browse the system32 directory and execute programs in (like telnet).</p> <p>What is the best method for supporting this when you need to support XP onwards as a client and 2k onwards for server?</p> <p><em>Having written all this up I wonder if it's just too much time/effort in providing a browse to do this, where they could just copy it from explorer. Still requires ability to launch.</em></p> <p>I have found some discussion on <a href="http://www.nynaeve.net/?p=133" rel="nofollow noreferrer">Nynaeve</a>.</p> <p>So far it seems there are the following options</p> <ol> <li>Create a sysnative folder in windows which will allow you to browse/execute 64 bit. Issues are: <ul> <li>only available in Vista/Longhorn, so no support for XP 64</li> <li>leads to different path naming, can't use same path on multiple versions.</li> <li>will be active for whole of windows, not just our app</li> <li>may not (probably is not) appropriate to do when installing the app</li> <li>allows to specify explicitly through path only which version of the app to launch if there is a 32 bit and 64 bit version</li> </ul></li> <li>Use the windows API to temporarily disable the redirection when showing file lists or executing users run commands. Issues are: <ul> <li>Only available on 64 bit - have to mess with GetProcAddress</li> <li>available only under certain service packs</li> <li>must individually identify all locations that this should be implemented</li> <li>user will need to provide seperate information about whether this is a 64 bit app or 32 bit.</li> </ul></li> </ol> <p>If anybody had some example code which displayed a Windows OpenFile dialog (say using MFC CFileDialog) showing nativly for XP/Vista and allowing the viewing of 64 bit system32 directory, that would be awesome.</p> <p>If anybody had an example of launching the named app, that would also be great!</p> <p>Edit:<br> Currently we use CreateProcess for launching the app (which is failing).</p> <pre><code>err = CreateProcess((wchar_t*)exeName.c_str(), (wchar_t*)cmdLine.c_str(), NULL, NULL, FALSE, CREATE_SEPARATE_WOW_VDM, NULL, workingDir.c_str(), &amp;startupInfo, &amp;processInfo); </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload