Windows 7 - oprogramowanie warstwy zgodności systemu Windows Vista?

2

Kupiłem słownik, który dostarczono z wersją oprogramowania słownika. Niestety, podczas gdy instaluje się to zarówno na moim komputerze z Windows Vista, jak i Windows 7, ulegnie awarii, gdy uruchomię go w systemie Windows 7 (ale nie w systemie Vista).

Czy jest możliwe zainstalowanie niektórych bibliotek DLL kompatybilnych z Windows Vista, które to zrobią możliwe uruchomienie słownika oprogramowania EXE w systemie Windows 7 bez konieczności instalowania instancja Windows Vista w VirtualBox?

(na marginesie, oprogramowanie działa na podstawowej wersji Windows 7 w wirtualnej skrzynce bez moich dodatkowych modyfikacji Sony Vaio. jest tam być może jakiś inny sposób na rozwiązanie problemu bez użycia wirtualnej skrzynki (której obrazy dysku są za dużo miejsca na moim małym dysku twardym)?

!SESSION 2014-09-21 11:11:54.458 
eclipse.buildId=unknown
java.version=1.7.0_11
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_EN
Command-line arguments:  -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.osgi 2014-09-21 11:11:55.677 
!MESSAGE Application error 
!STACK 1 java.lang.UnsatisfiedLinkError:
C:\Users\Neil\.edpan\hoepli\picchi\org.eclipse.osgi\bundles\39\1\.cp\swt-win32-3139.dll:
Can't load IA 32-bit .dll on a AMD 64-bit platform  
  at java.lang.ClassLoader$NativeLibrary.load(Native Method)    
  at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1939)
  at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1864)  
  at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1838)   
  at java.lang.Runtime.loadLibrary0(Runtime.java:845)   
  at java.lang.System.loadLibrary(System.java:1084)     
  at org.eclipse.swt.internal.Library.loadLibrary(Library.java:123)     
  at org.eclipse.swt.internal.win32.OS.<clinit>(OS.java:18)     
  at org.eclipse.swt.widgets.Display.<clinit>(Display.java:125)     
  at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:381)
  at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:155)   
  at edPan.ui.application.Application.run(Application.java:18)
  at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:226)  
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:376)
  at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:163)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:601)
  at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334)
  at org.eclipse.core.launcher.Main.basicRun(Main.java:278)
  at org.eclipse.core.launcher.Main.run(Main.java:973)
  at org.eclipse.core.launcher.Main.main(Main.java:948)
  at org.eclipse.core.launcher.Main2.main(Main2.java:46)
John Sonderson
źródło
2
Jeśli oprogramowanie działa na innym komputerze z systemem Windows 7, problem dotyczy brakującego problemu zależności i jest mało prawdopodobne, aby tryb kompatybilności pomógł
Ramhound
Znalazłem problem. Mój Windows Vista jest maszyną 32-bitową, a mój Windows 7 jest maszyną 64-bitową, a oprogramowanie próbuje załadować 32-bitową bibliotekę DLL.
John Sonderson
Nie jestem jednak pewien, jak rozwiązać problem.
John Sonderson
Oprogramowanie 32-bitowe może ładować 32-bitowe biblioteki DLL w 64-bitowym systemie operacyjnym. Jest to program Java, który powinien być łatwy do wykonania. Jasne jest, co robisz, próbując skompilować 64-bitowy program Java i próbując odwołać się do 32-bitowej biblioteki DLL, która nie jest możliwa
Ramhound
1
Trzeba byłoby ciężko pracować, aby napisać aplikację Java obsługującą system Vista, a nie Windows 7.
Ramhound

Odpowiedzi:

2

Uszkodzi się, gdy uruchomię go w systemie Windows 7 (ale nie w systemie Vista).

Musisz uruchomić oprogramowanie w trybie zgodności.

Aby ręcznie zmienić ustawienia zgodności programu, kliknij prawym przyciskiem myszy ikonę programu, kliknij polecenie „Właściwości”, a następnie kliknij kartę „Zgodność”.

Zobaczysz okno dialogowe podobne do następującego:

enter image description here

  • Tryb zgodności - uruchamia program przy użyciu ustawień z poprzedniej wersji systemu Windows.   Spróbuj tego ustawienia, jeśli wiesz, że program jest przeznaczony (lub działał)   in) konkretna poprzednia wersja systemu Windows.

Wybierz Windows Vista dla tej opcji.

  • Uruchom w 256 kolorach - Używa ograniczonego zestawu kolorów w programie. Trochę   starsze programy mają mniejszą liczbę kolorów.

  • Uruchom w rozdzielczości ekranu 640 × 480 - uruchamia program w a   mniejsze okno. Spróbuj tego ustawienia, jeśli graficzny interfejs użytkownika   wydaje się postrzępiony lub nieprawidłowo renderowany.

  • Wyłącz motywy wizualne - wyłącza motywy w programie. Spróbuj tego   ustawienie, jeśli zauważysz problemy z menu lub przyciskami tytułu   pasek programu.

  • Wyłącz kompozycję pulpitu - Wyłącza przezroczystość i inne   zaawansowane funkcje wyświetlania. Wybierz to ustawienie, jeśli ruch okna   wydaje się nieregularny lub zauważysz inne problemy z wyświetlaniem.

  • Wyłącz skalowanie wyświetlania w ustawieniach wysokiego DPI - Wyłącza się automatycznie   zmiana rozmiaru programów, jeśli używany jest rozmiar czcionki o dużej skali. Spróbuj tego   ustawienie, jeśli czcionki o dużej skali zakłócają wygląd   program. Aby uzyskać więcej informacji, zobacz Tworzenie tekstu na ekranie   większy lub mniejszy.

  • Poziom przywilejów - uruchamia program jako administrator. Niektóre programy   wymagać uprawnień administratora, aby działać poprawnie. Jeśli nie jesteś   obecnie zalogowany jako administrator, ta opcja jest niedostępna.

  • Zmień ustawienia dla wszystkich użytkowników - pozwala wybrać ustawienia, które będą   dotyczy wszystkich użytkowników tego komputera.

Źródło Starsze programy należy uruchamiać w tej wersji systemu Windows

DavidPostill
źródło
Próbowałem wykonać program w trybie zgodności z systemem Windows Vista, gdy wskazywałeś, ale to nie pomogło. Nadal otrzymuję dokładnie ten sam błąd: java.lang.UnsatisfiedLinkError: C: Użytkownicy JohnSondrson edpan hoepli picchi org.eclipse.osgi pakiety 39 cp swt-win32-3139.dll : Nie można załadować 32-bitowego pliku IA na platformie 64-bitowej AMD
John Sonderson
Dziwne jest to, że zainstalowałem ten sam program w 64-bitowej wersji systemu Windows 7 w Oracle VirtualBox i nie miałem problemów z jego uruchomieniem (nie narzeka na bibliotekę). Każda pomoc w zrozumieniu tego problemu byłaby bardzo doceniana.
John Sonderson