2010-12-09 25 views

Antwort

0

Versuchen Sie InstEdit von http://apps.instedit.com/, aber ich bin mir nicht sicher, ob es möglich ist, Datei innerhalb MSI-Paket zu ersetzen. Außerdem können Sie sich den Microsoft Orca MSI-Editor ansehen, der mit Windows SDK geliefert wird.

2

Zunächst sollten Sie andere Alternativen ausprobieren, als das MSI direkt zu ändern. Dies ist selten ein guter Weg, aber Sie können Ihre Gründe haben. Weitere Optionen finden Sie unter MSDN on patches.

Aber wenn Sie es direkt ändern möchten, überprüfen Sie diese blog entry. Es erklärt, wie Sie Orca, InstEdit, MSIdb und IExpress verwenden, um das CAB zu extrahieren, das CAB zu dekomprimieren, die Datei zu ersetzen, die CAB-Datei erneut zu komprimieren und an das MSI anzuhängen.

1

InstEdit (http://www.instedit.com/) funktioniert, aber es ist kein intuitives Werkzeug. Sie müssen nicht die Plus-Version haben, die Basis funktioniert dafür. Gerade fertig damit. Hier ist der Prozess.
1. Nehmen Sie das alte MSI und installieren Sie es, um alle ursprünglichen Installationsziele zu erhalten.

  1. Kopieren Sie alle Installationsziele in das Arbeitsverzeichnis mit Ihrem aktuellen MSI.

  2. offen InstEdit und öffnen Sie das MSI (oder einfach per Drag/Drop MSI in InstEdit Schnittstelle)

  3. Öffnen Sie die Registerkarte Tabellen (siehe Bild)

  4. den Medien Artikel klicken und Sie werden einige sehen Info auf der rechten Seite

  5. Klicken Sie mit der rechten Maustaste in das rechte Fenster und wählen Sie Ausgewählte CABs neu erstellen aus.

Wenn Sie den alten Eintrag im Verzeichnis ersetzen, wo alle Elemente für das MSI gefunden werden, dann, wenn klicken Sie ausgewählt KBS Rebuild wird die neuere Version des Elements automatisch importieren und Ihre CAB wieder aufzubauen.

Fehler sind kryptisch, aber wenn Sie sie genau lesen, können Sie es herausfinden und es funktioniert. Ich habe eine EXE im MSI durch eine neu erstellte Version ersetzt.

InstEdit Media Rebuild

EDIT

Es ist fast 1 Jahr und ich kam zurück, mich daran zu erinnern, wie das InstEd Tool funktioniert. Ich bin aber auch auf einen Fehler gestoßen, der Ihnen vielleicht auch begegnet, deshalb möchte ich die zusätzlichen Informationen hinzufügen.

Wenn Sie versuchen, [Rebuild Ausgewählte KBS] Sie können eine Fehlermeldung erhalten, die wie folgt aussieht:

add folders

Diese etwas von einem kryptischen Fehler ist. InstEd versucht Ihnen mitzuteilen, dass Sie den CommonFilesFolder-Ordner benötigen, der an dem Speicherort erstellt wurde, von dem Sie versuchen, die CABs neu zu erstellen. Dann legen Sie die Main.exe in diesem Ordner ab. Es sucht auch nach Main.ico in demselben Ordner.

Alles, was Sie tun müssen, kopieren Sie das Ziel. Exe und .ico (oder alle genannten Dateien) in den CommonFilesFolder und führen Sie die Neuerstellung erneut und es wird funktionieren.

+0

Weil die InEdE Schnittstelle so nicht intuitiv ist, schrieb ich die obige Antwort vor Wochen und vergaß es. Heute musste ich ein anderes MSI bearbeiten (wir besitzen jetzt die lizenzierte Version) und ich kam hierher zurück, um mich daran zu erinnern, wie man die Software benutzt. ;) – raddevus

+0

Aus irgendeinem Grund funktioniert das nicht für mich. Ich bekomme einen weiteren Fehler - "MakeCab failed". – PASAf

Verwandte Themen