"We are back" « oc.at

Coder für SEHR nützliches Tool gesucht.

GATTO 28.01.2011 - 09:48 14105 99
Posts

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2695
Jetz wird dann gleich wieder da Chrissicom auftauchen und sagen dass ihr das hinundherschicken dieser Dateien nicht dürfts. ;)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25547
muene, du hast win 7 mit 64 bit oder? Ich brauch aber die 32 bit-Version bitte! :D

ill

...
Avatar
Registered: Nov 2003
Location: Salzburg
Posts: 2060
this maybe?
ssshim_164254.zip (downloaded 107x)

muene

Addicted
Avatar
Registered: Jan 2004
Location: @Home
Posts: 430
Zitat von mat
muene, du hast win 7 mit 64 bit oder? Ich brauch aber die 32 bit-Version bitte! :D

Jopp, 64 bit :)

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25547
Zitat von ill
this maybe?
Die hat funktioniert, aber kommt leider zum selben Ergebnis.

Das steht im Log:
Log
Code:
011-02-02 13:53:05, Info                  WDS    DISM Image Session: PID=888 Disconnecting the provider store - CDISMImageSession::Final_OnDisconnect
2011-02-02 13:53:05, Info                  WDS    DISM Provider Store: PID=888 Disconnecting Provider: FolderManager - CDISMProviderStore::Internal_DisconnectProvider
2011-02-02 13:53:05, Info                  WDS    DISM Provider Store: PID=888 Found the OSServices.  Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect
2011-02-02 13:53:05, Info                  WDS    DISM Provider Store: PID=888 Releasing the local reference to DISMLogger.  Stop logging. - CDISMProviderStore::Internal_DisconnectProvider
2011-02-02 14:12:52, Info                  WDS    PID=1404 Scratch directory set to 'C:\Users\mat\AppData\Local\Temp\'. - CDISMManager::put_ScratchDir
2011-02-02 14:12:52, Info                  WDS    PID=1404 Successfully loaded the ImageSession at "C:\Users\mat\Downloads\Dism\Syswow64\Dism" - CDISMManager::LoadImageSession
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Found and Initialized the DISM Logger. - CDISMProviderStore::Internal_InitializeLogger
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Failed to get and initialize the PE Provider.  Continuing by assuming that it is not a WinPE image. - CDISMProviderStore::Final_OnConnect
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Finished initializing the Provider Map. - CDISMProviderStore::Final_OnConnect
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Manager: PID=1404 Successfully created the local image session and provider store. - CDISMManager::CreateLocalImageSession
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Getting Provider DISMLogger - CDISMProviderStore::GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Provider has previously been initialized.  Returning the existing instance. - CDISMProviderStore::Internal_GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: 
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: <----- Starting Dism.exe session ----->
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: 
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: Host machine information: OS Version=6.0.6002, Running architecture=x86, Number of processors=2
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: Executing command line: Dism  /online /get-drivers
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Getting Provider FolderManager - CDISMProviderStore::GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Provider has not previously been encountered.  Attempting to initialize the provider. - CDISMProviderStore::Internal_GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Loading Provider from location C:\Users\mat\Downloads\Dism\Syswow64\Dism\FolderProvider.dll - CDISMProviderStore::Internal_GetProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Connecting to the provider located at C:\Users\mat\Downloads\Dism\Syswow64\Dism\FolderProvider.dll. - CDISMProviderStore::Internal_LoadProvider
2011-02-02 14:12:52, Info                  CSI    00000001 Shim considered [l:252{126}]"\??\C:\Windows\Servicing\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe" : got STATUS_OBJECT_PATH_NOT_FOUND
2011-02-02 14:12:52, Info                  CSI    00000002 Shim considered [l:246{123}]"\??\C:\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe" : got STATUS_SUCCESS
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: The target image version is: 6.0.6002.18005.
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: The target image is downlevel and considered supported. Looking for PkgMgr.exe.
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: Executing DISM against a downlevel image. Calling C:\Windows\WinSxS\x86_microsoft-windows-servicingstack_31bf3856ad364e35_6.0.6002.18005_none_0b4ada54c46c45b0\pkgmgr.exe
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: Image session has been closed. Reboot required=no.
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: 
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: <----- Ending Dism.exe session ----->
2011-02-02 14:12:52, Info                  WDS    DISM.EXE: 
2011-02-02 14:12:52, Info                  WDS    DISM Image Session: PID=1404 Disconnecting the provider store - CDISMImageSession::Final_OnDisconnect
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Disconnecting Provider: FolderManager - CDISMProviderStore::Internal_DisconnectProvider
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Found the OSServices.  Waiting to finalize it until all other providers are unloaded. - CDISMProviderStore::Final_OnDisconnect
2011-02-02 14:12:52, Info                  WDS    DISM Provider Store: PID=1404 Releasing the local reference to DISMLogger.  Stop logging. - CDISMProviderStore::Internal_DisconnectProvider

Also ich denke, dass wir entweder auf Vista-Support verzichten sollten oder eine Alternative brauchen. Vielleicht schafft es ja jemand von euch den Output von "pnputil.exe -e" mit C# zu capturen. Ich hab ein bisschen rumprobiert, aber es ist wegen dem Console-ist-kein-Stream-in-Windows-Problem alles andere als trivial.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25547
Man glaubt es kaum, aber ich konnte das Problem in den letzten drei Stunden lösen. Blöder Ehrgeiz! :p Aber nicht nur das, denn ich hab gleich einen vollständigen Prototypen programmiert:

tweaktool-drivers_164259.jpg
1. Tab des Tools widmet sich gleich der Treibersache

tweaktool-info_164260.jpg
Im 2. Tab könnten wir uns verewigen ...


Download: TweakTool 1.0

Ich hab das ganze mal in ein Setup eingepackt, das auch recht einfach mit einem neuen Setup-File das komplette Programm aktualisiert. Außerdem kann es spurenfrei per Systemsteuerung deaktiviert werden. Wer es testen will, der wird allerdings das .NET 4.0 Framework brauchen, denn ich musste WMI verwenden.

Ich hab' nur überhaupt keine Ahnung ob das Teil korrekt funktioniert! Es deinstalliert die Driver und sie tauchen nach einem Reboot auch nicht mehr in der Liste auf, aber ich konnte auf die Schnelle auch nicht nachvollziehen, ob sie auch wirklich aus dem Driver Store gelangen. "pnputil.exe -e" listet den Driver jedenfalls dann auch nicht mehr.

GATTO, kannst du das vielleicht mit "pnputil.exe -d" im direkten Vergleich testen. Es nutzt nämlich nicht dieses Tool - Command-Line-Zugriff ist immer irgendwie schmuddelig -, sondern die DIFx-Funktion DriverPackageUninstall(). Damit sind auch die Fehlermeldungen etwas feiner ablesbar. Hab aber derzeit nur den Fehlercode dazugepackt. Der Punkt ist definitiv noch "todo".

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25547
So, ich hab jetzt auch noch ein Repository auf github.com angelegt: https://github.com/matoc/TweakTool

Was man jetzt zum Entwickeln genau braucht:
Wenn es Fragen zum Source Code oder zur Installation gibt, dann nur her damit. Würde mich freuen, wenn wir das Tool ständig erweitern würden. Jeder der kann implementiert ein Feature und wer nicht coden kann, der testet! :ghug:

Edit: Wenn ich mal wieder ein bisschen Zeit hab, dann mach ich einen eigenen Thread aus der Sache und kündige sie auf der Startseite an.

BooTes

Octocat!
Avatar
Registered: Sep 2002
Location: St. Egyden
Posts: 1595
Anleitung fürs Forken und Pull Requests: http://help.github.com/forking/

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
driver backup wär auch recht super, falls sowas möglich is ;)

pinkey

Here to stay
Registered: Nov 2003
Location: Tirol/Wien
Posts: 2276
+vielleicht gleich neusten treiber für alles oder ausgewählte komponente suchen lassen (falls das geht, bzw. nicht schon gibt)

Polyfire

Addicted
Avatar
Registered: Feb 2007
Location: .
Posts: 415
Ich hab das Tool jetzt nach mats Anleitung ausprobiert (Vsexpress & Source) und muss gestehen:

Drau mich nicht auf "Remove Driver" clicken weil mir nicht klar ist was da dann passiert.

Seh ich das so richtig: Es wird eigentlich nicht der Treiber deinstalliert, sondern nur irgendwelche Installationsdateien, die sinnlos rumliegen und Platz verschwenden?

Falls das so ist wärs glaub ich ganz gut wenn auf dem Info-Tab eine Erklärung stehen würde was da genau passiert. Die Credits evt. in eine eigene About Seite.

BooTes

Octocat!
Avatar
Registered: Sep 2002
Location: St. Egyden
Posts: 1595
So siehts bei mir aus:

drivers_164265.png

Ich frage mich gerade warum der exakt gleiche High Definition Audio Treiber 4x vorkommt?! Vielleicht kann man die anhand einer weiteren Eigenschaft weiter unterscheiden, einfach 3 von 4 nach Gefühl entfernen sagt mir nicht ganz zu.

userohnenamen

leider kein name
Avatar
Registered: Feb 2004
Location: -
Posts: 15865
nice mat :)
ich hab mich jetzt mal bei github angemeldet und runtergeladen
und was seh ich als erstes, es gibt noch kein rettich icon :eek: :D

Hansmaulwurf

u wot m8?
Avatar
Registered: Apr 2005
Location: VBG
Posts: 5639
Zitat von BooTes
So siehts bei mir aus:

drivers_164265.png

Ich frage mich gerade warum der exakt gleiche High Definition Audio Treiber 4x vorkommt?! Vielleicht kann man die anhand einer weiteren Eigenschaft weiter unterscheiden, einfach 3 von 4 nach Gefühl entfernen sagt mir nicht ganz zu.
Welches Audio verwendest überhaupt ? Ich geb jetzt keine Garantie, und das wär eigenes Risiko, aber verwendest du die X-Fi ? Weil dann dürfte es ja gar keinen Einfluss haben, und wir wüssten ob es irgendwas im Code ist, oder es wirklich 4 gibt.

edit:
Ok, gerade erst gesehen, selbes inf File -> Vielleicht irgendwas im Code

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25547
Zitat von Hansmaulwurf
Welches Audio verwendest überhaupt ? Ich geb jetzt keine Garantie, und das wär eigenes Risiko, aber verwendest du die X-Fi ? Weil dann dürfte es ja gar keinen Einfluss haben, und wir wüssten ob es irgendwas im Code ist, oder es wirklich 4 gibt.

edit:
Ok, gerade erst gesehen, selbes inf File -> Vielleicht irgendwas im Code
Nein, das glaub ich nicht. Dieses Ergebnis liefert die WMI-Schnittstelle, weshalb der Driver wahrscheinlich auch 4x im Driver Store ist. Btw, das heißt nicht unbedingt, dass der Driver entfernt wird. Manchmal bleibt das Gerät installiert und stattdessen kommt ein oem*.inf mit einer anderen Zahl nach dem Reboot. Leider kenne ich das Verhalten von pnputil.exe -d nicht gut genug, um sagen zu können, ob das passt. Deshalb warte ich hier mal auf GATTOs Input.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz