Ich habe ein Bootstrapper-Installationsprogramm mit Wix geschrieben. Aber wenn ich die Anwendung ausführe, bleibt das Installationsprogramm immer im Status "Initializing". Daher sind die Schaltflächen zum Installieren und Deinstallieren deaktiviert. Unten ist die Zeile, wo ich nach dem Wert des Installationsbefehls suche.Wix PlanAction-Methode nicht aufgerufen, wenn Programm ausgeführt wird
Wenn ich den Code debuggen, wird die Model.PlanAction-Methode nicht aufgerufen. Es läuft nur über diese Methode, obwohl ich Schritt drücken. Auch der Debug-Punkt der PlanAction-Methode wird nicht getroffen. Was mache ich hier falsch? Unten ist meine ViewModel-Klasse.
Unten ist meine Model-Klasse, die die PlanAction-Methode enthält, die aufgerufen werden sollte.
public class BootstrapperApplicationModel
{
private IntPtr hwnd;
public BootstrapperApplicationModel(
BootstrapperApplication bootstrapperApplication)
{
this.BootstrapperApplication =
bootstrapperApplication;
this.hwnd = IntPtr.Zero;
}
public BootstrapperApplication BootstrapperApplication
{
get;
private set;
}
public int FinalResult { get; set; }
public void SetWindowHandle(Window view)
{
this.hwnd = new WindowInteropHelper(view).Handle;
}
public void PlanAction(LaunchAction action)
{
this.BootstrapperApplication.Engine.Plan(action);
}
public void ApplyAction()
{
this.BootstrapperApplication.Engine.Apply(this.hwnd);
}
public void LogMessage(string message)
{
this.BootstrapperApplication.Engine.Log(
LogLevel.Standard,
message);
}
Unten ist meine BootstrapperApplication Klasse, falls Sie sie brauchen.
Danke für die Antwort Kumpel. Versuchte beides, immer noch kein Glück :(Wenn ich die Engine.Detect-Zeile gebe, nachdem ich die Event-Handler verkabelt habe, stürzt das Installationsprogramm ab, mit der "Sende einen Fehlerbericht" -Benutzeroberfläche. Aber es gibt nichts, was ich in den Logs finden konnte. – mayooran
Entfernen Sie den Code this.Engine.Detect(); aus der CustomBootstrapperApplication-Klasse und versuchen Sie es erneut. Setzen Sie einen Debugger auf die DetectPackageComplete-Methode und sehen Sie, welchen Status Sie in DetectPackageCompleteEventArgs e erhalten –