locked
SoftGrid - Sequence app that requires 256 color mode? RRS feed

  • Question

  • Dear community,

    I have an older application that I'm sequencing for a client.  This app requires 256 color mode to run.  How can I get this to work properly on the client?  Here's what I've tried:

    • Set the compatability mode (checked the 256 color mode box) for the app on the sequencing VM, allowing the app to run properly.
    • Pushed the package through the server to the client.  Ran the app on the client --> This program requires 256 color mode.  Exit.
    • Noticed that the registry entry wasn't propogated to the virtual registry, so I created it manually:
    USER -> Software -> Microsoft -> Windows NT -> CurrentVersion -> AppCompatFlags -> Layers
    Q:\APPNAME.EXE = 256COLOR

    Of course, Softgrid replaced the "Q:" with "%SFT_MNT%".

    Saved that to the package, pushed it through again, and ran the app on the client again --> Same error.
    • Tried to set the compatability on the client shortcut, as well as hard-code the path to the virtual exe:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files\\Softricity\\SoftGrid for Windows Desktops\\sfttray.exe"="256COLOR"
    "Q:\\APPNAME.EXE"="256COLOR"

    Same error.

    I guess it makes sense that the 1st one wouldn't work, since it's not pointing directly at the executable.  And the second one probably doesn't work because it's not running the exe directly.

    I'm stumped.  Can anyone help?

    Thanks in advance,
    Joe
    Monday, May 19, 2008 9:46 PM

Answers

  • Hmm thats an excellent question... My take on it would be to use a pre-launch script to write out the following value to the physical registry on the client PC because the OS will not see the virtual registry setting.

     

    USER -> Software -> Microsoft -> Windows NT -> CurrentVersion -> AppCompatFlags -> Layers
    Q:\APPNAME.EXE = 256COLOR

     

    Also make sure this registry entry is not in the virtual registry but the big issue is if the virtual application isolation gets in the way or not. My understanding is that you are changing Windows API behavior for a specific application and I think this should work but I could be wrong because I've never tried to do it nor understand the deep mechanics of this Winodws feature. I'm assuming the OS looks for the process name making the call and changes the behavior but I would be wrong.

     

    Tuesday, May 20, 2008 1:15 AM
    Answerer
  • Yes, the app exe is really at the root of Q:.  This app is designed to run from a CDROM, and I had to copy the CDROM contents to the root of Q: in order to get it to run on the sequencer VM.  However, I've run into another problem with the app due to its location in the root folder.  As you know, SoftGrid will not allow you to select the root folder as the primary installation folder, and everything that's installed outside of the primary folder is dumped to a "VFS" folder under the primary folder.  Since the app is looking for its file structure at the root of the drive, it's no longer catching the files in the VFS subfolder.

     

    By the way, I've wasted a lot of time trying to sequence this app with the 256 color mode.  I read somewhere on Microsoft that this mode is not supported on any file that's located on the network.  The SoftGrid VFS seems to be no exception to this.

     

    Here's a crude log of my sequencing iterations:

     

    • Sequenced with CDROM files copied to Q:\.  Was able to set 256color compatibility mode on sequencer VM, but absolutely could not set this mode on the client. 
    • Sequenced with CDROM files copied to Q:\APP00025.001\CDROM.
    • Tried scripting the registry entry with all possible paths.
      • Q:\app.exe
      • Q:\APP00025.001\VFS\app.exe
      • Q:\APP00025.001\VFS\SFT_MNT\app.exe
      • Q:\APP00025.001\CDROM\app.exe
    • With a cmd.exe inside the bubble, tried running the UNC path to the file.
    • Tried mapping a network drive and then running it.
    • Tried mounting the ISO image from the server with MagicDisc.

    None of these worked.  Eventually, I had to give up.

    • Proposed as answer by znack Thursday, July 16, 2009 9:02 PM
    • Marked as answer by Aaron.ParkerModerator Sunday, November 18, 2012 5:52 PM
    Tuesday, May 27, 2008 8:59 PM

All replies

  • Hmm thats an excellent question... My take on it would be to use a pre-launch script to write out the following value to the physical registry on the client PC because the OS will not see the virtual registry setting.

     

    USER -> Software -> Microsoft -> Windows NT -> CurrentVersion -> AppCompatFlags -> Layers
    Q:\APPNAME.EXE = 256COLOR

     

    Also make sure this registry entry is not in the virtual registry but the big issue is if the virtual application isolation gets in the way or not. My understanding is that you are changing Windows API behavior for a specific application and I think this should work but I could be wrong because I've never tried to do it nor understand the deep mechanics of this Winodws feature. I'm assuming the OS looks for the process name making the call and changes the behavior but I would be wrong.

     

    Tuesday, May 20, 2008 1:15 AM
    Answerer
  •  

    There is also the possibility to use Application Compatibility Toolkit to create a sdb-file and run sdbinst on the client with a prelaunch script. This might require that you distribute the sdb-files to the clients first though.

     

    Please post your findings!

     

    Regards,

    E.O

    Wednesday, May 21, 2008 8:45 AM
  •  Joe Zamora wrote:
    USER -> Software -> Microsoft -> Windows NT -> CurrentVersion -> AppCompatFlags -> Layers
    Q:\APPNAME.EXE = 256COLOR

     

    Is the application executable really at the root of virtual drive?

     

    /Kalle

     

    Monday, May 26, 2008 6:57 AM
    Moderator
  • Yes, the app exe is really at the root of Q:.  This app is designed to run from a CDROM, and I had to copy the CDROM contents to the root of Q: in order to get it to run on the sequencer VM.  However, I've run into another problem with the app due to its location in the root folder.  As you know, SoftGrid will not allow you to select the root folder as the primary installation folder, and everything that's installed outside of the primary folder is dumped to a "VFS" folder under the primary folder.  Since the app is looking for its file structure at the root of the drive, it's no longer catching the files in the VFS subfolder.

     

    By the way, I've wasted a lot of time trying to sequence this app with the 256 color mode.  I read somewhere on Microsoft that this mode is not supported on any file that's located on the network.  The SoftGrid VFS seems to be no exception to this.

     

    Here's a crude log of my sequencing iterations:

     

    • Sequenced with CDROM files copied to Q:\.  Was able to set 256color compatibility mode on sequencer VM, but absolutely could not set this mode on the client. 
    • Sequenced with CDROM files copied to Q:\APP00025.001\CDROM.
    • Tried scripting the registry entry with all possible paths.
      • Q:\app.exe
      • Q:\APP00025.001\VFS\app.exe
      • Q:\APP00025.001\VFS\SFT_MNT\app.exe
      • Q:\APP00025.001\CDROM\app.exe
    • With a cmd.exe inside the bubble, tried running the UNC path to the file.
    • Tried mapping a network drive and then running it.
    • Tried mounting the ISO image from the server with MagicDisc.

    None of these worked.  Eventually, I had to give up.

    • Proposed as answer by znack Thursday, July 16, 2009 9:02 PM
    • Marked as answer by Aaron.ParkerModerator Sunday, November 18, 2012 5:52 PM
    Tuesday, May 27, 2008 8:59 PM