2016-07-09 29 views
0

Vor einiger Zeit habe ich erfolgreich den RecipePropertyHandler geschrieben, kompiliert und installiert (https://msdn.microsoft.com/de-de/library/windows/desktop/dd940375.aspx). Auf meiner Entwicklungsmaschine funktioniert es reibungslos und ich kann die generierte DLL installieren und deinstallieren und nach einem Neustart des Explorers sehe ich sofort, dass die neuen Eigenschaften gefüllt werden.Wie kann RecipePropertyHandler auf Nicht-Entwicklungsmaschinen bereitgestellt werden?

Alles was es braucht ist ein einfaches

regsvr32.exe RecipePropertyHandler.dll 

Wenn ich das gleiche auf einem anderen (nicht-Entwicklung) Maschine versuchen, den Befehl regsvr32 gibt mir eine ganz allgemeine Fehlermeldung (Langtext, nicht hilfreich) und weigert sich, die DLL intall:

Very helpful... NOT!

Antwort

0

ich herausgefunden, was das Problem war, in der Tat, es zwei Dinge war ich vergessen (es gerade hier zu erwähnen, vielleicht wird es jemand :-) helfen)

  1. Ich muss immer die Befehle von einer erhöhten Eingabeaufforderung (Administrator DOS-Box) ausführen. Ich habe das manchmal vergessen und es macht die Dinge sehr verwirrend, da der Fehler kein Problem mit dem Zugriffsrecht erwähnt.

  2. (vor allem!) Habe ich VS2013 und kompilierte mit C++ 2013, das heißt, ich habe die vcredist_x64.exe auf dem Zielcomputer installieren (D'oh!). Der oben erwähnte Fehler kommt von fehlenden C++ - Bibliotheken. Es ist nicht wirklich etwas mit 64/32 Bit und schon gar nicht mit regsvr32 :-)

Also habe ich es installiert zu tun, und es funktioniert wie jetzt ein Zauber. Ich musste nicht einmal das prop.exe-Tool mit der PROPDESC-Datei ausführen, da ich die benutzerdefinierte Eigenschaft entfernt habe und nur Standard-Dateien verwendete (wie Sie es wirklich sollten (Nein, wirklich!)).