sxs dlls nicht gleich nach dem Login gefunden?

384
bartoli

Ich stoße auf ein seltsames Problem. Eine Anwendung (ein Tooltray-Symbol exe), die von der x86 Visual C ++ 2008-Laufzeitumgebung abhängt, die zum Starten von Fine verwendet wird. Dies ist ein x64-Windows 7 Bei den wenigen kürzlich durchgeführten Neustarts wurde angegeben, dass der Start der Anmeldung fehlgeschlagen ist. Ein Popup-Fenster zeigt an, dass die Datei mfc90u.dll nicht gefunden wird. und ich kann die Laufzeit-DLLs sehen, die aus dem Ordner winsxs geladen werden.

Was kann dazu führen, dass winsxs dlls direkt nach dem Login nicht verfügbar ist?

0

1 Antwort auf die Frage

0
Overmind

Winsxs .dlls dürfen nicht aktiv verwendet werden. Sie sind versionierte Sicherungen. Wenn eine vorherige Version einer .dll von etwas benötigt wird, wird sie von dort übernommen. Wenn die DLL tatsächlich fehlt, fungiert der Standort von winsxs wie ein Sicherungsspeicherort. Daher müssen einige Kernelabhängigkeiten geladen werden, damit sie ordnungsgemäß funktioniert.

Um das Problem zu beheben, kopieren Sie einfach die Datei mfc90u.dll von winsxs nach% windir% \ system32 \ oder den Speicherort der EXE-Datei des Programms.

Das Neuinstallieren der neuesten Versionen von Microsoft Visual C ++ Redistributable sollte das Problem ebenfalls beheben, da die DLL Teil dieser Distributionen ist.

Wo sonst sollten die installierten Versionen dann ordnungsgemäß installiert werden, wenn winsxs nur ein Backup ist? c: / windows / ? Durch das erneute Installieren der vs2008-Laufzeit (Reparaturmodus) wird mfc9 * .dll dort nicht angezeigt, wohingegen ich andere MFC * .dll-Dateien für andere Laufzeitversionen sehen kann bartoli vor 6 Jahren 0
Bei der Installation der 32-Bit-Version sollte die DLL unter C: \ Windows \ System32 landen. Wenn Sie die 64-Bit-Version installieren, sollte sie sich unter C: \ Windows \ SysWOW64 befinden. Wenn sie nicht dorthin kopiert werden, hält das Betriebssystem sie für zu alt und wird sie nur an Orten wie WinSxS / AMD64_microsoft.vc90 und WinSxS / x86_microsoft.vc90 behalten. Ich möchte immer lieber die Dateien dort ablegen, wo sich die .exe befindet, die sie benötigt. Der klassische Weg ist der beste Weg. Overmind vor 6 Jahren 0