Ich habe die folgende Erklärung meines Dienstes:
%Vor% Dies kompiliert und verknüpft ohne Fehler oder Warnungen. Der Service exe
wird ordnungsgemäß mit KeyPath="yes"
angegeben. Wenn ich meine MSI starte, kann es bei 'Start Service ...' nicht weiter gehen. Ich erhalte eine Fehlermeldung wie folgt:
Die Benutzerkontensteuerung wird angezeigt, wenn ich auf "Installieren" klicke. Was läuft also falsch?
Es sollte ohne die WiX-util-Erweiterung funktionieren. Hier ist mein kompletter Test Installer. Erstellen Sie ein eigenes Testprojekt und kopieren und verwerfen Sie mein Installationsprogramm in Ihre .wxs-Datei. Ersetzen Sie dann die Pfade und Namen File, ServiceInstall und ServiceControl durch Ihren eigenen Dienst. Wenn Sie immer noch die gleiche Fehlermeldung erhalten, könnte es sein, dass Sie nicht über die Berechtigung verfügen, die Installation auf Ihrem Computer durchzuführen?
%Vor%Das ServiceInstall-Konto muss als solches vollständig qualifiziert sein:
<ServiceInstall ... Account="NT AUTHORITY\LocalService" />
Es kann fehlschlagen, wenn nur so angegeben:
<ServiceInstall ... Account="LocalService" />
Wahrscheinlich müssen Sie die Berechtigung für Ihren Dienst festlegen, etwa so:
%Vor%und vergessen Sie nicht, die UtilExtension einzuschließen: xmlns: util="http://schemas.microsoft.com/wix/UtilExtension"
Es gibt einen anderen Weg (aber nicht empfohlen :) Sie könnten versuchen, es mit benutzerdefinierten Aktionen zu installieren:
%Vor%Das Problem mit diesem Code ist, dass Sie den Installationsort ohne Leerzeichen haben müssen (ich hatte ein Problem mit Leerzeichen und konnte es nicht lösen, wahrscheinlich haben Sie mehr Glück).
Die Fehlermeldung ist irreführend. Sie erhalten diese Fehlermeldung immer dann, wenn der Dienst nicht gestartet werden kann, aber es hat möglicherweise nichts mit Berechtigungen zu tun.
Öffnen Sie eine Visual Studio-Eingabeaufforderung und installieren Sie sie manuell:
%Vor%Wenn Ihr Dienst fehlschlägt, handelt es sich um ein Problem mit Ihrem Dienst und nicht um das Installationsprogramm.
Ich hatte das gleiche Problem, es wurde von einer früheren Version des Dienstes verursacht, der immer noch auf dem System läuft. Um dies zu beheben, geben Sie eine Eingabeaufforderung mit erhöhten Rechten ein und geben Sie Folgendes ein:
%Vor%Dies kann auch auftreten, wenn der Name der Servicedatei (in meinem Fall eine .exe) falsch ist. Ich habe es geschafft, ein wenig zu arbeiten, indem ich die korrekte Datei (die ausführbare Datei) an die erste Stelle in der Dateiliste gesetzt habe, etwa wie folgt:
Der Name des Servicedateinamens kann in der Ereignisanzeige angezeigt werden - Die Ereignis-ID der Serviceinstallation lautet 7045
Grüße Thomas
Tags und Links service wix windows-installer