wie man ein fehlerhaftes wix-burn-Paket manuell löscht?

9

Ich lerne gerade, wie man einen benutzerdefinierten verwalteten Bootstrapper für wix-burn entwickelt. Bis zu meinem Wissen gibt es keine offiziellen Tutorials, inoffizielle Tutorials sind immer mit WPF-Inhalten gefüllt, an denen ich nicht interessiert bin und die meisten Leute in Foren tun nicht viel mehr als zu sagen, dass Sie eine Klasse erstellen müssen, die von BootstrapperApplication erbt und die Run () - Methode.

Ich habe das gemacht, die Konfigurationsdatei erstellt, die Payloads zum XML-Markup hinzugefügt. Der resultierende Installer hat nichts getan, eigentlich lief es für immer, nur das Töten brachte es zum Stillstand. Ich habe ernsthaft erwartet, dass das Aufrufen von base.Run () mir ein grundlegendes standardmäßiges Verhalten ohne GUI geben würde. Aber das ist nur eine abstrakte Methode. Irgendwann habe ich gelernt, dass ich einige Engine.functions () aufrufen muss, um tatsächlich etwas zu arbeiten. Also schrieb ich das zum Testen:

%Vor%

Ich habe ein Paket erfolgreich kompiliert, das tatsächlich installiert wurde, das Problem ist, dass es nicht deinstalliert werden kann. Meine Frage ist, was kann ich tun, um es aus meinem System zu entfernen? Welche Registrierungsschlüssel muss ich löschen, welche zwischengespeicherten Pakete muss ich löschen und was muss ich noch tun, um sie los zu werden?

    
Alex 30.09.2015, 21:46
quelle

2 Antworten

1

Zunächst befindet sich der Registrierungsschlüssel an einem der beiden unten aufgeführten Standorte - und wahrscheinlich ist dies der erste, da der zweite für 32-Bit-Anwendungen auf einem 64-Bit-Betriebssystem installiert ist.

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninst‌​all

Zweitens können Sie den Registrierungsschlüssel verwenden, um zu bestimmen, wo die ausführbare Datei für die Deinstallation zwischengespeichert wird, die sich wahrscheinlich in einem Ordner befindet, der aussieht wie C:\ProgramData\Package Cache .

Wenn es sich um eine .msi-Installation handelt, gibt es einen anderen Registrierungsschlüssel, und die Datei wird an einem anderen Speicherort zwischengespeichert, wie in hier .

Andere Links:

jjj 11.03.2016, 01:17
quelle
0

Ufff, Sie haben sich in eine Hölle gebracht. :) Ich werde dir helfen, so viel wie ich kann.

Wie hast du dieses Paket installiert?

dlls, die Sie interessant finden können:

  • BootstrapperCore.dll (im Lieferumfang des WiX SDK enthalten)
  • Microsoft.Deployment.WindowsInstaller.dll (im Lieferumfang des WiX SDK enthalten)
  • WindowsBase.dll (für Threading)

Und eine der XML-Dateien sollte so sein, damit Sie sehen können, was genau dort oben ist.

%Vor%
  

Hinweis: Ihre Registry-Suche und Bedingungen unterscheiden sich ein wenig von   Was wird im WiX-Toolset verwendet, um NETFX zu erkennen? Das Folgende ist das   Erkennung für NETFX das WiX-Toolset verwendet:

%Vor%

Nächste Lösung kann dies sein:

Fügen Sie ein PackageGroupRef-Element in Ihre Chain ein:

%Vor%

Laden Sie Microsoft .NET Framework 4.5.2 (Offline Installer) herunter und fügen Sie es Ihrem Bootstrapper-Projekt hinzu. (Ich habe es in einen Ordner namens "Resource" gestellt.)

Fügen Sie das folgende Fragment hinzu:

%Vor%     
Josip Ivic 15.10.2015 08:37
quelle

Tags und Links