Windows 2008 SP2 - Disconnessione da RemoteApp application.

Pagina 1 di 2 1 2 ultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,387
    configurazione

    Predefinito Windows 2008 SP2 - Disconnessione da RemoteApp application.

    Il problema ho visto che è noto ma non sono ancora riuscito a trovare una soluzione.

    Ho un TS Windows 2008 SP2 con le RemoteAPP. Quando una RemoteAPP viene minimizzata, dopo una decina di secondi si chiude, rendendo fastidiosissimo per gli utenti utilizzarla perchè si rende impossibile anche il copia-incolla, ad esempio da una mail all'applicazione stessa.

    Come workaround temporaneo ho detto di ridurre la dimensione della finestra (il problema infatti si presenta solo se l'applicazione è minimizzata) ma devo risolvere in via definitiva. Ho trovato nella kb un hotfix ma è per Windows 2008 R2. Non mi pare di aver trovato nulla per 2008 ma cercando in rete il problema è noto da tempo e non è solo mio...

    Il client in questione è in una sede remota ma il problema si presenta identico anche dalla mia postazione che è nella stessa LAN quindi, eventualmente, non è solo una questione di firewall.

    Ho trovato in rete alcuni riferimenti ad una DWORD (RemoteDesktop_SuppressWhenMinimized) da creare in queste chiavi del registro sul client:

    HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client
    HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal Server Client

    ma non sono sicuro che c'entri qualcosa e dai test che ho fatto nulla è cambiato.

    Inoltre ho trovato altri riferimenti al parametro "KeepAlive" come questo ma si parla di timeout nell'ordine di minuti mentre io le disconnessioni le riscontro dopo una decina di secondi circa.

    C'è una soluzione a questo problema?

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  2. #2
    Moderatore L'avatar di betaxp86
    Registrato
    May 2003
    Località
    Genova, Italy
    Età
    37
    Messaggi
    10,196

    Predefinito

    Immagino che tu stia usando un sistema a 64bit in tal caso prova:

    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Terminal Server Client\

    Crea una DWORD RemoteDesktop_SuppressWhenMinimized con parametro 2




    betaxp86


  3. #3
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,387
    configurazione

    Predefinito



    Lunedì provo.
    Grazie!!

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  4. #4
    Moderatore L'avatar di italian soldier
    Registrato
    Jan 2006
    Località
    Bergamo
    Età
    43
    Messaggi
    7,414

    Predefinito

    Il software che utilizzi nella remote app è scritto in Delphi? Se si c'è un comando da aggiungere nel Sw. Anche a me accadeva la stessa cosa con il gestionale. Poi per puro caso ho trovato questa istruzione e una volta segnato al nostro fornitore di SW hanno generato una patch con quel comando. Da quel momento si è risolto questo fastidiosissimo problema.

    Il futuro, di nuovo ignoto, scorre verso di noi, e io lo affronto per la prima volta con un senso di speranza, perché se un robot, un Terminator, può capire il valore della vita umana, forse potremo capirlo anche noi.

  5. #5
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,387
    configurazione

    Predefinito

    Lo avevo visto, ma onestamente non lo sò...
    Posso provare a contattare il supporto ma mi pare che il problema sia esteso a tutti i software e non solo a quelli in Delphi. Comunque Lunedì verifico.

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  6. #6
    ●⁞◌ Ȏrȉzzȏntέ Ðέglȋ ȨvέntȊ ◌⁞●
    Registrato
    Aug 2008
    Località
    Palermo
    Messaggi
    2,952

    Predefinito



    nello scenario, diciamo più naturale, la modifica di Andrea dovrebbe risolvere la problematica.


    Per spiegare, però, l'insorgere e le cause del problema e comprendere gli effetti (positivi o meno) prodotti da quella modifica, si dovrebbe poter verificare se la TS RemoteApp, utilizzando le API RegOpenKeyEx e RegEnumKeyEx per accedere ed elencare le chiavi di registro, abbia usato esplicitamente il flag KEY_WOW64_64KEY oppure il KEY_WOW64_32KEY

    La differenza negli effetti delle due modalità è spiegata qui:

    Accessing an Alternate Registry View (Windows)


    Rammentando che in un un s.o. Windows a 64bit esistono tre diverse porzioni del Registro (64bit, 32bit e condivisa), il problema come ben diceva frakka è abbastanza diffuso utilizzando delle TS RemoteApp. Ciò è dovuto in primo luogo al modo in cui (si parla sempre di un s.o. Windows a 64bit) Wow6432Node agisca in presenza di richieste fatte da un'applicazione a 32bit, ed in secondo luogo all'uso di uno dei due flag suddetti.

    Nelle circostanze standard Wow6432Node agisce né più né meno come un collegamento simbolico che riporta automaticamente al corrispondente hive a 32bit.
    Quindi, la richiesta di accesso di una applicazione a 32-bit a HKLM\Software\Wow6432Node verrà rediretta automaticamente a HKLM\Software.

    Nel caso in cui un'applicazione a 32bit cerca di elencare direttamente la chiave HKLM\Software\Wow6432Node (erroneamente, tramite uno o entrambi i flag KEY_WOW64_64KEY e KEY_WOW64_32KEY), avverà un indesiderato loop tramite il quale sarà in pratica avviata ricorsivamente una richiesta del tipo:
    HKLM\Software\Wow6432Node\Wow6432Node\Wow6432Node\..., etc.


    Windows Server 2008, per evitare questo incidente, nasconde automaticamente nell'hive 32bit la chiave in questione (Wow6432Node) alle richieste effettuate tramite RegEnumKeyEx.

    Ciò porterà l'applicazione a 32bit a non trovare la chiave (quindi tantomeno il suo valore), in quanto l'enumerazione darà esito negativo costringendole ad impostare presumibilmente, nel migliore dei casi, le attività di default.

    Quanto sopra è meglio indicato qui:

    32-bit and 64-bit Application Data in the Registry (Windows)



  7. #7
    Moderatore L'avatar di italian soldier
    Registrato
    Jan 2006
    Località
    Bergamo
    Età
    43
    Messaggi
    7,414

    Predefinito

    Grazie toto, come sempre sei impeccabile.

    PEr la cronaca io avevo problemi sia su sitemi 32 che 64
    PS il mio gestionale fa un po caccare :P

    Il futuro, di nuovo ignoto, scorre verso di noi, e io lo affronto per la prima volta con un senso di speranza, perché se un robot, un Terminator, può capire il valore della vita umana, forse potremo capirlo anche noi.

  8. #8
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,387
    configurazione

    Predefinito

    Niente da fare, il problema persiste.
    Credo proprio che il problema sia il software, ho visto che l'azienda che lo produce cercava programmatori con esperienza di Delphi... Ora provo a contattarli ma ho poche speranze...

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  9. #9
    Super Moderatore L'avatar di frakka
    Registrato
    May 2001
    Località
    Casalecchio di Reno (Bo)
    Età
    43
    Messaggi
    23,387
    configurazione

    Predefinito

    Ho aperto un ticket col supporto del gestionale (che per l'appunto è una software house che lavora in Delphi!! ) vediamo se e cosa mi rispondono...

    Intanto ho applicato un workaround un pò casereccio ma funzionante: Invece che pubblicare la RemoteAPP puntando direttamente all'eseguibile dell'applicazione ho trovato in rete un piccolo batch che si avvia minimizzato da cui lancio il gestionale:

    codice:
    if not "%minimized%"=="" goto :minimized
    set minimized=true
    start /min cmd /C "%~dpnx0"
    goto :EOF
    :minimized
    rem Anything after here will run in a minimized window
    "percorso-del-programma-da-avviare"
    Poi ho pubblicato come RemoteApp questo batch. In questo modo funziona correttamente, l'unico fastidio è che vengono aperte nella barra delle applicazioni dell'utente due icone (una relativa al gestionale e l'altra alla finestra di cmd minimizzata) e l'unico inconveniente (che per me non è un problema) rispetto al deploy tradizionale è che così non si possono associare le estensioni all'applicazione perchè la RemoteAPP risulta, appunto, un batch.

    La finestra di terminale tiene aperto anche il gestionale, che quindi diventa finalmente utilizzabile. L'idea è venuta leggendo un articolo che mi ha linkato Benussi del forum MS. Ho provato anche uno script analogo in vbs (che avviandosi in modalità "invisibile" permette di non vedere la seconda finestra) ma in questo caso il trick non funziona e la RemoteApp di disconnette comunque dopo un decina di secondi.
    Ultima modifica di frakka : 29-01-2013 a 01:01

    Questa è la storia di 4 persone chiamate Ognuno, Qualcuno, Ciascuno e Nessuno. C'era un lavoro importante da fare e Ognuno era sicuro che Qualcuno lo avrebbe fatto. Ciascuno poteva farlo, ma Nessuno lo fece, Qualcuno si arrabbiò perché era il lavoro di Ognuno. Ognuno pensò che Ciascuno potesse farlo, ma Ognuno capì che Nessuno l'avrebbe fatto. Finì che Ognuno incolpò Qualcuno perché Nessuno fece ciò che Ciascuno avrebbe potuto fare.

  10. #10
    Moderatore L'avatar di italian soldier
    Registrato
    Jan 2006
    Località
    Bergamo
    Età
    43
    Messaggi
    7,414

    Predefinito

    Molto bene Teo, comunque quell'articolo che ti dicevo è questo
    remoteapp - Why does my minimized Terminal Services Remote App Disappear? - Server Fault

    Praticamente la soluzione è questa

    So it may just be a Delphi related issue after all, although sysadmins should be aware in case they want to run an app written in Delphi.

    One Fix is to recompile in > Delphi 2007 with

    Application.MainFormOnTaskbar := True

    before the application.initialize (not very sysadminny)

    Another is to use a batch file to launch your program. (that's odd, but it makes sense)


    Il futuro, di nuovo ignoto, scorre verso di noi, e io lo affronto per la prima volta con un senso di speranza, perché se un robot, un Terminator, può capire il valore della vita umana, forse potremo capirlo anche noi.

Pagina 1 di 2 1 2 ultimo

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022