Ich versuche gerade, meine Anwendungen mit dem App Cert Kit durchzutesten. Dabei stelle ich fest, dass meinen Manifesten noch diverse Informationen fehlen.
Ein größeres Projekt, das unter Windows 10 schon sauber läuft, will ich nicht neu kompilieren, sondern rein über Resourcenbearbeitung auffrischen. Mache ich aktuell mit den ResourceUtils. Die Versionsresource lässt sich über die ResourceUtils auch problemlos austauschen, ändert halt nicht ihre Größe.
Sobald ich aber das Manifest austausche, beschwert sich signtool.exe danach über eine ungültige
Win32-Datei. Hintergrund könnte sein, dass die Resource ihre Größe verändert. Zwar passt ResourceUtils daraufhin auch die Resourcen-Section an, hat aber im Dictionary-Eintrag des Optional
PE Headers plötzlich die virtuelle Sektionsgröße drin; vorder stand dort die virtuelle. Eventuell ändert es noch mehr "inkompatibel".
Inkompatibel heißt dabei nicht, dass die Datei nicht mehr ausgeführt werden kann, sondern dass signtool.exe sie als ungültig erkennt (an vorhandenen Zertifikaten in der Datei liegt es nicht, die werden mit ImageRemoveCertificate entfernt)!
XN Resource Editor bewirkt das gleiche, ResHacker speichert geänderte Manifeste einfach nicht.
Nun suche ich:
- Einen Resourcen-Editor, der nach Manifest-Update eine gültige Binary hinterlässt, oder
- Einen Fix für ResourceUtils (daran arbeite ich auch selber, habe aber bisher nur obigen Strohhalm als Ansatz), oder
- Einen Hinweis, wie ich die Resource eventuell per Windows API austauschen kann.
Für Tipps und Denkanstöße bin ich dankbar