2010-01-25 14 views
5

Nasza aplikacja wymaga zainstalowania sterownika urządzenia HASP SRM, aby nasz mógł zainstalować i uruchomić.Jak uruchomić inny proces w trybie zgodności XP?

W tej chwili tylko ich 5.50 sterowniki działają konsekwentnie na wszystkich testowanych platformach (zarówno ich 5,75 (oficjalnie), jak i 5,86 (beta) ulegają awariom na około 1 na 3 testowanych komputerach).

Dlatego ich sterowniki 5,50 są dobre, wszystko, co obecnie jest dostępne, jest zepsute, a sterowniki 5.50 odmawiają załadowania pod Vista i Windows 7. Jeśli jednak ustawię właściwości exe na "Tryb zgodności XP", to ich sterownik 5.50 instaluje się i działa poprawnie.

mam grzebać w rejestrze pod Windows 7, i odkryłem, że istnieje co najmniej jeden wpis zrobiony kiedy pytam o trybie zgodności:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\ 
    full-path REG_SZ WINXPSP3 

będę mógł dodać, że od klucza nasz instalator, przed uruchomieniem instalatora sterownika 5.50.

Pytania:

  • Gdzie mogę znaleźć pełniejszą dyskusję trybów zgodności?
  • Czy klawisze/ustawienia różnią się pod Vistą kontra Windows 7?
  • Czy klawisze/ustawienia różnią się od 32 bitów do 64 bitów?
  • Czy istnieje sposób, aby bezpośrednio zapytać o to, gdy zadzwonię do CreateProcess()?

Odpowiedz

3

Można ustawić zmienną środowiskową __COMPAT_LAYER (poprzez ustawienie go w procesie przed wywołaniem CreateProcess, lub zbudować nowy blok środowiskową dla CreateProcess)

+0

To wygląda obiecująco. Dam ci odpowiedź, jeśli uda mi się wykonać tę pracę. ;) – Mordachai

Powiązane problemy