Zurück   PC WELT Forum > Betriebssysteme > Windows XP / Server 2003/2008 / Vista
Connect with Facebook


Windows XP / Server 2003/2008 / Vista Tipps und Tricks zu älteren Windows-Betriebssystemen


Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1 (permalink)  
Alt 18.03.2010, 16:25
Byte
 
Registriert seit: 10.2008
Beiträge: 8
Vista: User32.dll austauschen möglich?

Guten Tag,

ich habe ein Programm auf 2 verschiedenen Vista-Rechnern installiert.
Auf einem PC ist alles i.O., auf dem anderen erhalte ich folgende Fehlermeldung:

1. Die Ordnungszahl 7 wurde in der DLL „User32.dll“ nicht gefunden.
2. MonfWin.exe funktioniert nicht mehr. Ein Problem hat die richtige Ausführung dieses Programms verhindert. Schließen Sie das Programm.

Die Ordnungszahl 7 = AllowForegroundActivation
Und genau diese Funktion benötigt das Programm, weil es immer im Vordergrund liegt.

Funktionierender Rechner:
Vista Business SP1: User32.dll vom 18.01.08, Dateiversion: 6.0.6001.18000, Größe: 627.200 Bytes

Nicht funktionierender Rechner:
Vista Business SP2: User32.dll vom 10.04.09, Dateiversion: 6.0.6002.18005, Größe: 627.712 Bytes
Hier gibt es eine Schattenkopie der User32.dll vom 21.01.08. Dateiversion und Größe sind mit der User32.dll vom 18.01.08 identisch.
Allerdings ist der Wiederherstellen-Button nicht aktiviert, ich kann nur öffnen oder kopieren wählen …

Fragen:
1. Kann ich die neuere user32.dll (Vista SP2) durch die ältere Version aus SP1 ersetzen ???
Umgekehrt dürfte es nicht funktionieren … Sprich, die ältere Systemdatei aus SP1 mit der neueren aus SP2 auszutauschen … oder?

2. Falls ich sie ersetzen kann, muss sie dann noch registriert werden (regsvr /s user32.dll) ?

Warum dieser Eintrag in der neueren user32.dll nicht mehr vorhanden ist, verstehe ich nicht so ganz …


Ich würde mich sehr freuen, wenn mir jemand weiterhelfen könnte.

Viele Grüße
Nepal
Mit Zitat antworten
  #2 (permalink)  
Alt 18.03.2010, 18:36
Benutzerbild von deoroller
Wandelndes Forum
Mein System
 
Registriert seit: 07.2000
Ort: unendliche Weiten
Beiträge: 72.097
Wie heißt denn das Programm? Bevor du in den Systemdateien von Vista herumfrickelst, solltest du es beim Hersteller des Programms versuchen (FAQ, Hilfe, usw.).
Die User32.dll lässt sich vermutlich nicht im laufenden Betrieb austauschen und wenn sie nicht zur Vista Version passt, startet Vista womöglich nicht mehr.
__________________
Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten.
Mit Zitat antworten
  #3 (permalink)  
Alt 19.03.2010, 08:52
Byte
 
Registriert seit: 10.2008
Beiträge: 8
Hallo Deoroller,

vielen Dank für Deine Antwort.

Es handelt sich um ein Füllmengenkontrollprogramm.
Besagtes Monitor-Alarm-Programm läuft immer im Vordergrund, um sofort Unter- und Überfüllungen zu erkennen.

Lt. Hersteller wird Vista nicht unterstützt ... Die Aussage war, ich soll es probieren, was ich ja auch getan habe. Ergebnis: auf meinem Rechner habe ich das Programm zum Laufen gebracht, aber nicht auf dem PC des Users, der es benötigt. Wahrscheinlich wegen SP2.

Hatte auch schon mal die user32.dll des Vista-SP2-Rechners auf meinen PC (Vista SP1) kopiert ... Das Ergebnis war, wie Du schon vermutet hast, dass Vista nicht mehr startete. Das Reparaturprogramm setzt die ursprüngliche, zum System passende, Version wieder ein.
Wollte den User-PC nicht in "Unordnung" bringen, deshalb bin ich mit meinem PC den umgekehrten Weg gegangen.

Was tun?
Ich vermute mal, dass der Austausch der user32.dll nicht funktionieren wird. Leider ... wäre ja auch zu einfach gewesen ...

Hast Du noch ne Idee?


Viele Grüße
Nepal
Mit Zitat antworten
  #4 (permalink)  
Alt 19.03.2010, 09:36
Benutzerbild von mike_kilo
Ganzes Gigabyte
Mein System
 
Registriert seit: 04.2002
Ort: %system32%
Beiträge: 12.773
die user32.dll als Kernel-file unterliegt dem SFC.
Windows würde versuchen, diese immer zu ersetzen.
"Rein theoretisch" könnte man versuchen, die neue mit regsvr32 de-registrieren, umbenennen, die alte "einschleusen" und mit regsvr32 anmelden.
Windows sieht das jedoch als illegal an, und inwieweit die UAC > "Run as Admin" , DEP und andere Schutzmechanismen da mitspielen, ist nicht klar.
RegSvr32
Syntax/Parameter:
regsvr32 [/u] [/s] [/n] [/i[:cmdline]] dllname
/u - Serverregistrierung aufheben
/s - Hintergrundmodus. Meldungen werden nicht angezeigt
/i - Aufruf von DllInstall, wobei optional eine [Befehlszeile] übergeben werden kann. Unter Verwendung von /u wird die DLL-Deinstallation aufgerufen.
/n - Kein Aufruf von DllRegisterServer. Diese Option muss mit /i verwendet werden.
> http://www.website-go.com/artikel/regsvr32.php
Nur bei vorhandenem System-Image würde ich sowas wagen, falls du da "herumfrickelst". Siehe Deos Rat!
__________________
> Bitte immer die Recherkonfiguration (Hardware,Betriebsystem) komplett posten!Klick!
Zitat:
CTRL+A...CTRL+C...CTRL+V....CTRL+A...CTRL+C...CTRL+V..."Was machst du denn da?"
"RUHE!! Ich promoviere gerade!" aus Twitter
Mit Zitat antworten
  #5 (permalink)  
Alt 19.03.2010, 10:54
Benutzerbild von deoroller
Wandelndes Forum
Mein System
 
Registriert seit: 07.2000
Ort: unendliche Weiten
Beiträge: 72.097
Kann das Programm nicht in einem Emulator laufen?
Virtual PC mit XP zum Beispiel.
Downgarde auf SP1 ist auch keine Alternative, da der Support nächstes Jahr dafür ausläuft. (keine neue Sicherheitsupdates mehr)
Bietet der Hersteller kein Update mehr für das Programm an?
Das ist wahrscheinlich eine Kostenfrage?
__________________
Warnung! Falscher oder fehlender Kaffee - Benutzer angehalten.
Mit Zitat antworten
  #6 (permalink)  
Alt 19.03.2010, 10:57
Benutzerbild von Fettbemme
Halbes Megabyte
 
Registriert seit: 08.2008
Beiträge: 834
Hallo

Zitat:
Zitat von Nepal Beitrag anzeigen
Besagtes Monitor-Alarm-Programm läuft immer im Vordergrund, um sofort Unter- und Überfüllungen zu erkennen.
Und ich denke mal darin besteht genau das Problem. Laut Microsoft gibt es KEIN Programm dass so wichtig ist, dass im Vordergrund gehalten werden muß. Dafür soll die API Funktion FlashWindow/FlashWindowEx verwendet werden, damit in der Taskleiste der Anwendungsbutton blinkt, und dem Anwender somit eine "Prüfnotwendigkeit" signalisiert.

Zitat:
Zitat von Nepal Beitrag anzeigen
Lt. Hersteller wird Vista nicht unterstützt ... Die Aussage war, ich soll es probieren, was ich ja auch getan habe. Ergebnis: auf meinem Rechner habe ich das Programm zum Laufen gebracht, aber nicht auf dem PC des Users, der es benötigt. Wahrscheinlich wegen SP2.
Nun das ist immer schlecht. Produktiv genutzte Software auf nicht unterstützten Betriebssystemen ist immer ganz schlecht.

Zitat:
Zitat von Nepal Beitrag anzeigen
Hatte auch schon mal die user32.dll des Vista-SP2-Rechners auf meinen PC (Vista SP1) kopiert ... Das Ergebnis war, wie Du schon vermutet hast, dass Vista nicht mehr startete. Das Reparaturprogramm setzt die ursprüngliche, zum System passende, Version wieder ein.
Wollte den User-PC nicht in "Unordnung" bringen, deshalb bin ich mit meinem PC den umgekehrten Weg gegangen.
Die Funktionalität wird an einigen anderen Stellen auch noch verschwunden sein. Ich wage zu behaupten, dass die User32.dll nicht ausreicht. Allg. ist es sowieso schlecht nicht offiziell dokumentierte APIs zu verwenden. "AllowForegroundActivation" ist eine undokumentierte API Funktion. Die wirst Du in keiner MS Doku finden.

Zitat:
Zitat von Nepal Beitrag anzeigen
Hast Du noch ne Idee?
ein offiziell unterstütztes OS verwenden. Sollte bei Produktivsystemen usus sein.



Zitat:
Zitat von mike_kilo Beitrag anzeigen
"Rein theoretisch" könnte man versuchen, die neue mit regsvr32 de-registrieren, umbenennen, die alte "einschleusen" und mit regsvr32 anmelden.
User32.dll muß nicht registriert werden. Es handelt sich nicht um COM.
__________________
Gruß

Die Fettbemme
Mit Zitat antworten
  #7 (permalink)  
Alt 24.03.2010, 16:55
Byte
 
Registriert seit: 10.2008
Beiträge: 8
Hallo alle zusammen,

sorry, dass ich mich erst heute melde.
Vielen Dank für Eure Tipps + Anregungen.

Die Idee mit der De-Registrierung und Neuanmeldung der user32.dll hatte ich auch schon, aber wieder verworfen.
Ich denke, wie auch Fettbemme, dass es wahrscheinlich mit dem Austausch der user32.dll alleine nicht getan ist ..., falls es überhaupt möglich ist.
Und ein Downgrade auf SP1 macht auch keinen Sinn ...

Hatte auch mal versucht, über VNC zum Ziel zu gelangen. Über Ultra-VNC sollte es ja eigenlich möglich sein, nur ein einzelnes, bestimmtes Fenster zu übertragen. Ist mir leider nicht gelungen, hatte immer den kompletten Desktop ...

Evtl. funktioniert der Zugriff über Virtualisierung. Aber z. Zt. kann ich das leider aus Zeitgründen nicht testen.
Werde dem User jetzt erst mal eine zusätzliche W2K-Maschine zur Verfügung stellen, auf dem das Programm problemlos läuft.

Bin ziemlich gefrustet, aber was soll's.
Hoffe, irgendwann mal eine neue Programmversion für Windows 7 zu erhalten ...


Viele Grüße
Nepal
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are an





Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
© PC-WELT.de, 2004-2008
12
Content Management by InterRed