• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1289
  • Last Modified:

What is the difference between autostart (Start\Programs\Startup\) with Citrix and without Citrix

Greetings,

I have various XP machines which automatically launch a certain program when any user logs in:

C:\Documents and Settings\All Users\Start Menu\Programs\Startup\MyProgram.exe

For some reason this routine is not kicked off when users logon using Citrix.  Any ideas why?

Thanks!
0
John500
Asked:
John500
  • 2
  • 2
2 Solutions
 
mgcITCommented:
in your citrix server are there actually applications in the Startup folder?  Just because they are on the XP machine wouldn't make them run when you login to Citrix.

If they are in the startup folder on the Citrix server then, this folder could be blocked by Group Policy, or if you were only opening published applications the Startup Folder is ignored unless explorer.exe is started in that session.
0
 
John500Author Commented:

Ok, appreciate that input, can you also take a look at this question:

http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/Server/Remote_Desktop-Terminal_Services/Q_23817042.html

I verified the Citrix server(s) do have the shortcut to the executable.  So I'm not sure if there might be more to consider.  Another common denominator might be how the issue also happens with 2008 TS

Thanks!
0
 
oBdACommented:
Are you using Published Applications or a Published Desktop?
If the former, then that behavior is 'by design', after a fashion. The startup folder as well as the HKLM/HKCU\...\Run keys will only be processed by explorer.exe running as the primary shell, that is, when a normal desktop session is started. When you're using Published Applications, explorer.exe is never started, so neither of these startup elements will work.
It's best to start your application using a logon script.
0
 
mgcITCommented:
the question you linked above has been deleted.

2008 TS wouldn't have anything to do with it (although, yes probably has the same issue).  Are you using published applications or published desktops?
0
 
John500Author Commented:
Thanks to all, I found the statement in the code of the executable itself that checks to see what kind of session it is:

if (!CCObjects.Security.WinSessions.SessionType.Equals("ICA") || MainInit.CheckPermission())
{
...
}

 public static string SessionType
{
...
      bool sessionInfo = Externals.WTSQuerySessionInformation(System.IntPtr.Zero, WTS_CURRENT_SERVER_HANDLE, Structures.WTS_INFO_CLASS.WTSClientProtocolType, out buffer, out bytesReturned);
     SessionType = (Structures.WTS_CLIENTPROTOCOL_TYPE)Marshal.ReadInt16(buffer);
...


switch (SessionType)
{
      case Structures.WTS_CLIENTPROTOCOL_TYPE.WTS_PROTOCOL_TYPE_CONSOLE:
              sessiontype_ = "Console";
                break;
        case Structures.WTS_CLIENTPROTOCOL_TYPE.WTS_PROTOCOL_TYPE_ICA:
                sessiontype_ = "ICA";
                break;
        case Structures.WTS_CLIENTPROTOCOL_TYPE.WTS_PROTOCOL_TYPE_RDP:
              sessiontype_ = "RDP";
                break;
        default:
              sessiontype_ = "???";
        break;
}
return sessiontype_;

}

 
0

Featured Post

Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now