Hvilke applikasjoner kan virtualiseres med softgrid?

Et spørsmål jeg ofte får og nå har flere hos oss laget en liste over det motsatte, fordi det er enklere og blir en kortere liste. Det er noen generelle trekk som gjør at applikasjonen ikke kan virtualiseres og de er listet under. Selvsagt finnes det noen unntak fra reglene og dersom vi kommer over applikasjoner som kan virtualiseres, men trenger litt tilpassning blir dette postet som KB'er.

  1. Applikasjoner som installerer eller er avhengige av systemdrivere, dvs for eksempel printere eller usb device drivere. *
  2. Applikasjoner som installerer boot-time drivere
  3. Applikasjoner som bruker COM+ *
  4. MAPI kan være vanskelig. Se egen artikkel om virtualisering av MS Office. https://support.microsoft.com/default.aspx?scid=kb;EN-US;939796.
  5. Applikasjoner som brukere COM DLL surrogater, dvs DLL'er som bruker dllhost.exe

 

*  Det finnes avvik fra lista over, hvis komponentene som ikke kan virtualiseres kan installeres som separate komponenter på lokal maskin. F.eks drivere.

I en del tilfeller kan de installeres separat og da kan det faktisk fungere å pakke applikasjonene uavhengig av driveren. (Pass på at pakka leser driver referanser fra OS og ikke fra reigstry i pakka).

Når det gjelder COM+ kan dette fungere delvis dersom applikasjonene bare brukere dette til enkelte funksjoner. Da kan potensielt resten av funksjonene fungere. Så må du bare avgjøre hvor viktige COM+ biten er... men tenkte likevel å fortelle dette...

For å finne ut om applikasjonen bruker COM+ kan du gjøre følgende:

  • skaff deg Process Monitor fra Sysinternals. www.microsoft.com/sysinternals
  • sett på logging for prosessen du skal sjekke
  • Utfør/bruk funksjoner som er i programmet, evt spesielt de du tror bruker COM+ eller har vist seg å feile etter Softgrid pakking.
  • Se i loggen om det dukker opp linjer a la denne "<ProcessName> RegOpenKey Software\Microsoft\COM3"

Dersom du sitter med applikasjoner du ikke vet nok om eller får problemer med virtualiseringa er det generelt sett et godt tips å bruke de ulike verktøyene fra sysinternals for å se hva som faktisk skjer. Du kan også evt kjøre disse inni den virtualiserte bobla for å se hva som skjer der og. Enten ved å legge det til som en kommando post launch i osd fila eller enda enklere: om applikasjonen du har virtualisert har en File-Open meny, bruk denne til å bla deg fram til verktøyet du vil bruke og høyre klikk og si Kjør på det istedet.