Mehr

Warum findet QGIS das neue Plugin-Update beim Start nicht automatisch?

Warum findet QGIS das neue Plugin-Update beim Start nicht automatisch?


Ich habe ein Plugin für QGIS erstellt und ein Repository (xml) für die Endbenutzer erstellt, um es zu installieren. Dann habe ich eine neue Version erstellt und auch meine Repository-Datei mit der neuen aktualisiert, aber Qgis findet das neue Update beim Start nicht automatisch. Wo soll ich die neue Version markieren? Ich markiere die neue Version in der XML-Datei wie folgt:1.0.0 gewechselt zu 1.0.1aber Qgis erkennt keine neue Version.


Ich habe es gefunden! Ich habe das Versionsattribut in nicht aktualisiert pyqgis_plugin Etikett:


Warum findet QGIS das neue Plugin-Update beim Start nicht automatisch? - Geografisches Informationssystem

Alternative Installation von QGIS ohne Verwendung der Windows-Registrierung

Dieses Projekt beschreibt eine Methode für die Installation und den Betrieb von QGIS unter Windows, wobei QGIS eine einfache Textdatei (ini-Datei) zum Speichern von Setup-Parametern verwendet. Die standardmäßige Windows-Installation von QGIS verwendet die Registrierung, um Konfigurationsparameter zu speichern.

Durch das Entfernen der Abhängigkeit von der Registrierung für QGIS werden eine Reihe von Vorteilen erreicht:

  • Eine lokale Installation kann reduziert werden, um ein Verzeichnis auf den PC zu kopieren und QGIS zu starten. Die erste Verwendung von QGIS schließt die Installation ab. Sie müssen keine komplexen msi-Skripte für die Installation generieren.
  • Alternative Installationen, wie das Platzieren des QGIS-Programms auf einem Netzlaufwerk oder die Installation in einer Citrix-Umgebung, sind triviale Modifikationen der beschriebenen, lokalen Installation.
  • Alle Setup-Parameter werden in einer ini-Datei gesammelt, die mit einem einfachen Texteditor leicht zu überprüfen und zu bearbeiten ist.
  • Durch das Platzieren des Programmordners draußen das "C:Program Files" oder ähnliche Verzeichnisse ist es möglich QGIS ohne "Local Admin" Rechte zu installieren. Dies kann von QGIS-Kursleitern für eine schnelle Installation von QGIS auf einer großen Anzahl von PCs verwendet werden, auf denen Sie nur normale Benutzerrechte haben.
  • Führen Sie eine Installation von QGIS auf vielen PCs mit genau dem gleichen Setup durch, einschließlich vorinstallierter Plugins.

Nachteile der Methode:

  • Das Verfahren erfordert im Vergleich zu einer manuellen Standardinstallation auf einem einzelnen PC mehr Vorarbeit.

Während einer normalen Installation wird Qgis an verschiedenen Orten auf dem PC gespeichert:

  • Programme werden beispielsweise in einem Programmordner abgelegt. "C:ProgrammeQGIS Lyon" für QGIS Ver. 2.12. Dieser Programmordner enthält das Hauptprogramm, DLLs und möglicherweise eine Reihe externer Programme wie zB GRASS, SAGA, ORFEUS. Das Verzeichnis enthält keine Setup-Parameter oder benutzerspezifischen Daten. Der Speicherort des Programmordners hängt von der Installationsmethode ab (Wenn Sie die verschiedenen Installationsmethoden nicht kennen, können Sie die QGIS.ORG-Website besuchen, um das Programm herunterzuladen: [http://qgis.org/en/site/forusers/download. html] (http://qgis.org/en/site/forusers/download.html))
  • Ein Ordner ".qgis2", der normalerweise im Home-Verzeichnis des Benutzers platziert wird, z. "C:Usersvtho.Qgis2" für Benutzer "bvtho" des PCs. Dieser Ordner enthält Ordner für temporäre Daten aus Processing, Farbpaletten, Vorlagen für das Projektmanagement und Code für alle Nicht-Kern-Plugins. Dieser Ordner ist für jeden Benutzer personalisiert.
  • Ein oder mehrere Zweige in der Registrierung, hauptsächlich "HKEY_CURRENT_USERSoftwareQGIS". Die Registry enthält alle Setup-Parameter für QGIS.

Das Ziel besteht darin, die Qgis-Setup-Parameter aus der Registrierung zu entfernen und sie in einer Datei im Benutzerordner .qgis2 (".qgis2QGISQGIS2.ini") abzulegen.

Dieser Vorgang ist in zwei Phasen unterteilt:

"PREPARE"-Phase, in der der GIS-Administrator eine Standard-Qgis-Installation vorbereitet, damit diese für die Installation auf dem Benutzer-PC bereit ist.

"RUN"-Phase, in der die vorbereitete QGIS-Installation (ein Verzeichnis) auf den Benutzer-PC kopiert wird und der Endbenutzer die endgültige Installation beim ersten Start von QGIS auf dem PC vornimmt.

Installieren Sie eine normale Version von QGIS auf Ihrem PC. Es sollte nicht in "C:Program Files" oder "C:Program Files" installiert werden - während der "PREPARE" Phase werden mehrere Dateien im QGIS Verzeichnis hinzugefügt oder bearbeitet. Verschiedene Sicherheitsregeln in den "C:Programmdateien" können diesen Vorgang stören oder verhindern.

Suchen Sie den Speicherort der Startdatei "qgis.bat" (Datei * kann * je nach Version und Installationsmethode einen anderen Namen haben). Die Datei befindet sich im Ordner "bin" im QGIS-Programmverzeichnis, zum Beispiel "C:ProgrammeQGIS Lyoninqgis.bat".
Diese .bat-Datei bereitet eine Reihe von Parametern für Qgis vor und endet mit dem eigentlichen Start von Qgis.

Erstellen Sie eine Kopie von "qgis.bat" mit dem Namen "qgis-start.bat" und legen Sie die Datei im gleichen Ordner wie das Original ab.

Bearbeiten Sie "qgis-start.bat" mit einem Texteditor wie Notepad:

Suchen Sie die letzte Zeile in der Datei - sie sieht so aus:

Fügen Sie vor der letzten Zeile eine Textzeile ein und bearbeiten Sie die Zeile selbst:

(In der letzten Zeile wird --configpath"%QGIS_UDIR%" unmittelbar vor %* hinzugefügt)

Speichern Sie die bearbeitete Datei. Die GitHub-Distribution enthält ein Beispiel für die bearbeitete Datei. Es wird jedoch empfohlen, es nicht direkt zu verwenden, sondern nur als Richtlinie, da es zwischen verschiedenen QGIS-Installationen kleine Unterschiede geben kann.

Kopieren Sie "qgis-prepare.bat", "qgis.reg.tmpl" und "minised.exe" aus dem Github-Distributionsordner in denselben Ordner wie "qgis-start.bat".

Bei der normalen Qgis-Installation werden zwei dll - Dateien in das Verzeichnis "C:WindowsSystem32" kopiert. Bei den Dateien handelt es sich um grundlegende Microsoft-Supportdateien, die von Qgis verwendet werden. Um sicherzustellen, dass die Dateien in nachfolgenden Qgis-Installationen vorhanden sind, müssen die Dateien von "C:WindowsSystem32" in das Qgis-Programmverzeichnis, Unterverzeichnis "in" (zB "C:Program FilesQGIS 2.18") kopiert werden. Behälter")

Die beiden Dateien heißen msvcp120.dll und msvcr120.dll, wenn die Qgis-Version 2.18 ist. Für frühere Qgis die Namen Macht sein msvcp110.dll / msvcr110.dll oder msvcp100.dll / msvcr100.dll.

Achtung! Wenn eine Qgis 32-Bit-Version mit einem Windows 64-Bit-PC erstellt wird, müssen die DLL-Dateien aus dem Verzeichnis "C:WindowsSysWOW64" kopiert werden - nicht "C:WindowsSystem32".

Starten Sie Qgis durch einen Doppelklick auf das "qgis-start.bat" (nicht qgis.bat). Die Änderungen in "qgis-start.bat" und die Verwendung von "qgis-prepare.bat" bedeuten, dass
1) ein neuer Benutzerordner wird im QGIS erstellt Programmordner namens ".qgis_template" und
2) Alle Setup-Parameter werden in einer ini-Datei "QGIS2.ini" gespeichert, die sich in einem Unterordner des neuen Benutzerordners ".qgis_template" befindet.

Nachdem Sie Qgis gestartet haben, müssen Sie alle Qgis-Setup-Parameter (neu) einrichten. Die Setup-Datei "QGIS2.ini" enthält nur das Nötigste an Standardoptionen (es wurden keine bestehenden Setups aus der Registry kopiert).

Das Setup beinhaltet die Installation von Plugins, das Setzen aller Benutzereinstellungen bzgl. Digitalisierung, Snap, Auswahl etc. Und nicht zuletzt: Damit die Bearbeitung richtig funktioniert, müssen Sie - unter "Optionen für die Bearbeitung" - angeben, wo sich GRASS, SAGA, ORFEUS etc. befinden gelegen.

Achtung! Wenn Sie diese Bibliotheken mit einer separaten Installation dieser zusätzlichen Programme installiert haben, müssen sie im Qgis-Programmordner abgelegt werden.

Achtung!! Beim Starten von Qgis mit "qgis-start.bat" wird das Skript "qgis-prepare.bat" unmittelbar vor dem Start des Qgis-Hauptprogramms ausgeführt. Das Skript enthält Befehle zum Speichern der Position des Qgis-Programmordners und des Home-Verzeichnisses des Benutzers während der "PREPARE"-Phase. Diese Informationen werden später während der "RUN"-Phase verwendet. Tun nicht Ändern Sie den Speicherort des Qgis-Programmordners oder wechseln Sie während der "PREPARE"-Phase zu einem anderen Benutzer. Sie können QGIS jedoch während der "PREPARE"-Phase mehrmals starten, damit Sie nicht alle Vorbereitungsarbeiten in einer Sitzung erledigen müssen.

Fahren Sie nicht mit dem nächsten Schritt fort, bis Sie Ihr 'perfektes' Setup von QGIS ausgeführt haben !!

Wenn Sie mit der Vorbereitung von Qgis fertig sind, bearbeiten Sie "qgis-start.bat" erneut mit folgendem:

Und löschen / benennen Sie die ursprüngliche "qgis.bat" um, damit ein Benutzer sie nicht versehentlich verwendet. Nehmen Sie nach der letzten Bearbeitung von "qgis-start.bat" keine weiteren Änderungen an der Konfiguration von Qgis vor.

Sie können jetzt verteilen.
Kopieren Sie den vorbereiteten Qgis-Programmordner auf den PC des Benutzers (Tipp: Sie können ihn zippen und die Zip-Datei verteilen). Es ist jetzt perfekt möglich, das Qgis-Verzeichnis unter dem Verzeichnis "C:Program Files" auf dem PC des Benutzers zu platzieren
Der vorbereitete QGIS-Programmordner enthält eine "Vorlage" des QGIS-Benutzerordners im Verzeichnis ".qgis_template" mit allen Plugins, Setup-Änderungen und Ergänzungen, die Sie während der "PREPARE"-Phase vorgenommen haben - und eine ini-Datei mit Setup-Parametern, die normalerweise in die Registry aufgenommen worden wäre.

Bitten Sie den Benutzer, QGIS zu starten, indem Sie auf die Datei qgis-start.bat doppelklicken, die sich im Verzeichnis "QGIS-Programmordner"in befindet.

Die Datei "qgis-start.bat" beendet die Installation beim ersten Durchlauf, indem sie automatisch eine Kopie des Verzeichnisses ".qgis_template" im Benutzerverzeichnis erstellt, eine Verknüpfung auf dem Desktop erstellt und Dateizuordnungen zwischen .qgs-Dateien und dem neuen erzeugt QGIS-Programm Schließlich werden alle Datei- und Verzeichnisreferenzen in der Datei "qgis2.ini" an die neuen Speicherorte des QGIS-Programm- und QGIS-Benutzerverzeichnisses auf dem PC des Benutzers angepasst.

Nachfolgende Aufrufe von qgis-start.bat führen einen einfachen, normalen Start von QGIS durch.
Die in den Abschnitten 3 und 4 beschriebenen Installations- und Startfunktionen können anhand des Skripts "qgis-prepare.bat" untersucht werden. Alle Schritte in dieser bat-Datei sind ausführlich kommentiert.

Ob Wenn Ihre IT-Abteilung eine .msi-basierte Installation durchführen möchte, können Sie den vorbereiteten Programmordner und eine Verknüpfung zum Starten von QGIS packen (zum Beispiel für den Speicherort auf dem Desktop). Sie müssen nur "qgis-prepare.bat" bearbeiten und eine einzelne Befehlszeile in der Datei entfernen. Der Befehl dient dazu, eine Verknüpfung auf dem Desktop zu erstellen, dies ist jedoch überflüssig, da das msi-Paket diese Verknüpfung enthält. Die Kommandozeile ist durch Kommentare in der Datei "gqis-prepare.bat" eindeutig gekennzeichnet.

Nach dem Ausrollen des msi-Pakets wird beim ersten Start von QGIS durch den Benutzer die Installation wie im Phasenpunkt "RUN" beschrieben abgeschlossen. 3.

Die auf GitHub verfügbare Version der Datei "qgis-prepare.bat" wurde entwickelt, um den QGIS-Benutzerordner in einem Unterordner ".qgis_214" im Home-Verzeichnis des Benutzers zu platzieren, zum Beispiel "C:Benutzervtho. qgis_214" (bei Verwendung der Initialen "bvtho" auf einem Windows7-basierten PC). Dies ist dem ursprünglichen Standardspeicherort sehr ähnlich, an dem der Ordner ".qgis2" heißt.

Es ist möglich, einen anderen Speicherort zu verwenden, indem Sie einfach eine einzelne Einstellung in "qgis-prepare.bat" bearbeiten. Finde die Zeilen:

und passen Sie "%USERPROFILE%.qgis_214" an den neuen Speicherort an. (%USERPROFILE% ist eine Umgebungsvariable, die auf das Home-Verzeichnis des Benutzers zeigt)

Anwendungsfall: Installation von QGIS auf einem PC, auf dem Sie keine "Lokaler Administrator"-Rechte haben.

Dies kann ohne jegliche Bearbeitung der Datei "qgis-prepare.bat" erreicht werden. Kopieren Sie einfach den QGIS-Programmordner an einen Ort, an dem ein normaler Benutzer Schreibrechte hat, zum Beispiel irgendwo im Home-Verzeichnis des Benutzers.

Anwendungsfall: Zentrale Installation von QGIS auf einem Netzlaufwerk

Anstatt den QGIS-Anwendungsordner auf einem lokalen Laufwerk auf dem PC des Benutzers zu platzieren, ist es beispielsweise möglich, diesen Ordner auf einem Netzwerklaufwerk zu platzieren. "X:Programmeqgis". Es sind keine Änderungen an "qgis-prepare.bat" erforderlich.

Da QGIS keine Setup-Daten in das QGIS-Programmverzeichnis schreibt/aktualisiert, können sie von vielen Benutzern geteilt werden. Der einzige Nachteil ist die längere Startzeit, da Netzwerkfreigaben im Allgemeinen langsamer sind als ein lokales Laufwerk.

Anwendungsfall: Installation von Qgis auf Citrix

Bei den meisten Citrix-Installationen hat jeder Benutzer einen persönlichen netzwerkbasierten Ordner, zum Beispiel "M:personal". Anstatt den Qgis-Benutzerordner auf dem lokalen Laufwerk des Citrix-Servers abzulegen, können Sie den Benutzerordner auf dem persönlichen Netzlaufwerk des Benutzers ablegen. Da die modifizierte Qgis-Installation die Registry nicht verwendet, enthält der einzelne Citrix-Server keinerlei benutzerspezifische Setup-Daten, sondern nur Programmdateien und zusätzliche Dateien wie Hilfedateien. Dies vereinfacht die Qgis-Installation und den täglichen Gebrauch von Qgis, das in einer Citrix-Serverfarm installiert ist.

Wenn das persönliche Verzeichnis des Benutzers "M:personal" heißt, können Sie Folgendes tun:

Ändern Sie in "qgis-prepare.bat" die Zeile:

Bereiten Sie Qgis wie beschrieben auf einem normalen PC (nicht Citrix) vor. Nach der Vorbereitung und der letzten Änderung in "qgis-start.bat" kopieren Sie den vorbereiteten Qgis-Programmordner auf den Citrix-Server - oder Server, wenn es sich um eine Citrix-Serverfarm handelt.

Wenn ein Benutzer Citrix - Qgis zum ersten Mal startet, wird die Benutzerumgebung erstellt und diese Umgebung wird an einem Ort platziert nicht auf dem Citrix-Server. Die folgenden Starts des Citrix - Qgis werden normal sein, da die Benutzerumgebung bereits vorhanden ist auch wenn das gestartete Qgis auf einem anderen Server in der Citrix Serverfarm liegt

Anwendungsfall: Installation von 2 verschiedenen QGIS-Versionen auf demselben PC mit unterschiedlichen Benutzereinstellungen für jede QGIS-Version

  • Ein bestehendes Setup von QGIS, das nicht geändert werden darf (Wir nennen es QGIS 2.8!)
  • Gleichzeitig möchten Sie eine alternative Installation (Wir nennen es QGIS 2.14!)
  • Die beiden Systeme dürfen sich nicht gegenseitig stören, d.h. sich weder Benutzer-Setup noch Plugins teilen.

Dies kann folgendermaßen erfolgen (Wir gehen davon aus, dass QGIS 2.8 standardmäßig installiert ist, dh die Registrierung verwenden und andere Benutzerdaten im Ordner ".qgs2" im Home-Verzeichnis des Benutzers speichern).

  1. Installieren Sie Qgis 2.14 auf einem "frischen" PC, dh. ohne bestehende Qgis-Installation
  2. Schließen Sie die "PREPARE"-Phase für die neue Installation ab und stellen Sie sicher, dass Qgis 2.14 verwendet wird Ein weiterer Benutzerverzeichnis als ".qgis2", zum Beispiel ".qgis_214"
  3. Kopieren Sie den Qgis 2.14-Programmordner auf den PC mit der vorhandenen Version 2.8 von Qgis und stellen Sie sicher, dass der Qgis 2.14-Programmordner unterschiedlich aus dem bestehenden Qgis 2.8-Programmverzeichnis.

Beim ersten Start des neuen Qgis 2.14 wird der neue Benutzerordner ".qgis_214" erstellt. Das vorhandene Benutzerverzeichnis für Qgis 2.8 ist davon nicht betroffen. Und die neue Installation verwendet nicht die Registrierung, sodass das Setup von Qgis 2.8 nicht beeinträchtigt wird

Der Vorgang kann mit mehreren Versionen/neueren Versionen von Qgis abgeschlossen werden: Qgis 2.16/".Qgis_216", QgisG 2.18/".Qgis_218" usw.


Wie behebt man 'Konnte das Qt-Plattform-Plug-in &ldquoWindows&rdquo in &ldquo&rdquo nicht finden, wenn qgis in einer benutzerdefinierten Python3-Anwendung implementiert wurde?

Ich implementiere qgis 3.4.3 in einer benutzerdefinierten Anwendung, aber wenn ich die Klasse QgsApplication() instanziiere, erhalte ich die Fehlermeldung "Das Qt-Plattform-Plugin "Windows" in " konnte nicht gefunden werden".

Ich habe versucht, verschiedene Installationen von qgis 3.x+ zu verwenden, einschließlich des Standalone-Installers und des OSGeo4W-Web-Installers. Ich bleibe derzeit bei der OSGeo4W-Webinstaller-Installation. Ich verwende eine Python 3.7-Installation getrennt von dem, was mit OSGeo4W geliefert wird, und versuche, die qgis-Funktionalität zu integrieren.

Ich habe die Anweisungen im folgenden QGIS-Hilfedokument im Abschnitt: "PyQGIS in benutzerdefinierten Anwendungen verwenden" befolgt https://docs.qgis.org/2.18/en/docs/pyqgis_developer_cookbook/intro.html#run-python-code- wenn-qgis-startet

Nachdem ich versucht hatte, das Skript auszuführen, stellte ich fest, dass ein DLL-Plugin fehlte. Nach einigen Recherchen fand ich die qwindows.dll, die qt verwendet. Die qwindows.dll ist in der OSGeo4W-Installation enthalten unter: C:OSGeo4WappsQt5pluginsplatforms

Ich habe die Variable QT_PLUGIN_PATH an der lokalen Eingabeaufforderung geändert, um das obige Verzeichnis einzuschließen, aber der gleiche Fehler trat auf. Ich habe auch die Variable QT_DEBUG_PLUGINS auf 1 geändert, die die Orte ausgedruckt hat, an denen Qt nach Plugins sucht. Interessanterweise wurde nicht nach Plugins in dem Pfad gesucht, den ich in der Variable QT_PLUGIN_PATH angegeben habe.


2 Antworten 2

Anstatt das Add-In bei jedem Start von Excel zu aktivieren, müssen Sie die Ursache finden, die zum Deaktivieren des Add-Ins führt.

Microsoft Office-Anwendungen können VSTO-Add-Ins deaktivieren, die sich unerwartet verhalten. Wenn eine Anwendung Ihr VSTO-Add-In nicht lädt, hat die Anwendung Ihr VSTO-Add-In möglicherweise hart oder weich deaktiviert.

Eine harte Deaktivierung kann auftreten, wenn ein VSTO-Add-In dazu führt, dass die Anwendung unerwartet geschlossen wird. Es kann auch auf Ihrem Entwicklungscomputer auftreten, wenn Sie den Debugger stoppen, während der Startup-Ereignishandler in Ihrem VSTO-Add-In ausgeführt wird.

Eine sanfte Deaktivierung kann auftreten, wenn ein VSTO-Add-In einen Fehler erzeugt, der nicht zum unerwarteten Schließen der Anwendung führt. Beispielsweise kann eine Anwendung ein VSTO-Add-In vorübergehend deaktivieren, wenn sie eine nicht behandelte Ausnahme auslöst, während der Startup-Ereignishandler ausgeführt wird.

Wenn Sie ein weich deaktiviertes VSTO-Add-In erneut aktivieren, versucht die Anwendung sofort, das VSTO-Add-In zu laden. Wenn das Problem, das ursprünglich dazu führte, dass die Anwendung das VSTO-Add-In sanft deaktiviert hat, nicht behoben wurde, wird die Anwendung das VSTO-Add-In erneut sanft deaktivieren.

Ich würde daher vorschlagen, die Protokollierung zu aktivieren und herauszufinden, welche Codezeile zur Laufzeit eine Ausnahme auslöst und warum das Add-In automatisch deaktiviert wird. Weitere Informationen finden Sie unter Gewusst wie: Erneutes Aktivieren eines VSTO-Add-Ins, das deaktiviert wurde.


4 Antworten 4

Für einzelne Container gibt es eine Neustartrichtlinie, die Sie anwenden können. Das wird mit docker run --restart= eingestellt. beim Starten des Containers oder einem Neustart: . Zeile in der Compose-yml-Datei. Sie können die Neustartrichtlinie in einem vorhandenen Container ändern mit:

Um alle Container und ihre Neustartrichtlinien aufzulisten, können Sie dies über die bash ausführen:

Nein Starten Sie den Container nicht automatisch neu, wenn er beendet wird. Dies ist die Standardeinstellung.

bei Fehler[:max-Wiederholungen] Nur neu starten, wenn der Container mit einem Exit-Status ungleich Null beendet wird. Begrenzen Sie optional die Anzahl der Neustartversuche des Docker-Daemons.

immer Starten Sie den Container immer neu, unabhängig vom Exit-Status. Wenn Sie immer angeben, versucht der Docker-Daemon, den Container auf unbestimmte Zeit neu zu starten. Der Container wird auch immer beim Daemon-Start gestartet, unabhängig vom aktuellen Status des Containers.

es sei denn-gestoppt Starten Sie den Container unabhängig vom Exit-Status immer neu, aber starten Sie ihn nicht beim Start des Daemons, wenn der Container zuvor in einen gestoppten Zustand versetzt wurde.

Eine Neustart-Richtlinie von Always würde zu einem unerwarteten Container-Neustart führen, nachdem der Docker-Daemon neu gestartet wurde, wie Sie es sehen, selbst wenn Sie den Container absichtlich gestoppt haben. Aus diesem Grund erstelle ich normalerweise eigenständige Container mit einer Neustartrichtlinie, wenn nicht gestoppt.

Wenn Sie den Docker-Schwarmmodus verwenden, starten Dienste jedes Mal automatisch einen neuen Container, wenn der Zielstatus nicht mit dem aktuellen Status übereinstimmt. Bei einem Single-Node-Schwarmcluster, der häufig bei Laptops zu sehen ist, bedeutet dies, dass der Container neu gestartet wird, wenn Sie Docker neu starten, aber auch, wenn Sie den laufenden Container einfach stoppen oder löschen.

Das dauerhafte Stoppen und Entfernen eines Dienstes:

Wenn ein Dienst mit dem replizierten Modus konfiguriert ist und Sie ihn nur vorübergehend stoppen möchten, ohne den Dienst zu löschen, können Sie die Zielreplikate auf 0 aktualisieren:

Und Dienste können als Teil eines Stapels bereitgestellt werden. So entfernen Sie den gesamten Stapel:


3 Antworten 3

wenn du muss Hack Core, erwägen Sie, dies auf eine Weise zu tun, die es für andere erweiterbar macht.

Einen Action-Hook hinzufügen

In neun von zehn Fällen könnten Sie tun, was Sie wollten, wenn es nur einen zusätzlichen do_action-Aufruf in einer bestimmten Datei gäbe. Fügen Sie in diesem Fall die Aktion hinzu, dokumentieren Sie sie und einen Patch über Trac . einreichen. Wenn es einen guten Grund für Ihren Patch gibt (d. h. Sie sind nicht der einzige, der ihn jemals verwenden würde), können Sie ihn wahrscheinlich zum Kern hinzufügen.

Als nächstes bauen Sie ein benutzerdefiniertes Plug-In (Sie müssen es nicht veröffentlichen/verteilen!), das sich an diesen neuen Hook anschließt und jede gewünschte Funktion ausführt.

Refactoring einer Core-Datei

In anderen Fällen benötigen Sie möglicherweise nur ein Stück Code, um sich anders zu verhalten. Übergeben Sie beispielsweise eine Variable als Verweis oder geben Sie einen Wert zurück, anstatt ihn wiederzugeben. Nehmen Sie sich etwas Zeit, um sich hinzusetzen und den Code so umzugestalten, dass er das tut, was er tun soll. dann einen Patch über Trac einreichen damit der Rest von uns von Ihrer Arbeit profitieren kann.

Sehen Sie hier ein Thema, das sich entwickelt? Das Hacken des Kerns ist nicht unbedingt ein No-Go. nur etwas, das die meisten Entwickler tun werden sehr entmutigen für neue Benutzer oder unerfahrene Programmierer (wenn Sie uns fragen, wie etwas zu tun ist, schlagen wir jedes Mal ein Plug-In vor, bevor wir auch nur in Betracht ziehen, Ihnen einen Hack-Core vorzuschlagen).

Das Hacken des Kerns ist die Art und Weise, wie sich WordPress entwickelt und weiterentwickelt, aber es ist gefährlich für jemanden, der nur PHP lernt oder keine Erfahrung mit WP-Dateien hat. Bitte beginnen Sie mit einem Plug-In, bevor Sie Core anfassen - wenn Sie ein Plug-In zerstören, können Sie es schnell deinstallieren (ggf. per FTP entfernen) . aber wenn Sie den Kern zerstören, können Ihrer Site und möglicherweise auch Ihrer Datenbank schlimme Dinge passieren.

Wenn Sie sich jedoch in einer Situation befinden, in der ein Core-Hack unvermeidlich ist, nehmen Sie die Änderung vor. Veröffentlichen Sie Ihre Änderung auch an einer gut sichtbaren Stelle (wenn Ihr Blog gut sichtbar ist, kann dies ausreichen. Ich empfehle jedoch Trac, weil so Community-Änderungen in die nächste Version übernommen werden). Ihre Änderung könnte die Wunderwaffe sein, die Probleme in hundert verschiedenen Sites beheben könnte. Tragen Sie also etwas zur Community bei, die Ihnen beim Aufbau Ihrer Website geholfen hat.

Wenn die Änderung festgeschrieben wird, wird Ihr Hack Teil des Kerns und Sie müssen sich in Zukunft nicht darum kümmern. Wenn dies nicht der Fall ist, haben Sie zumindest eine detaillierte Dokumentation zur erneuten Implementierung des Hacks, nachdem Sie WP in 3 Monaten aktualisiert haben.


4 Antworten 4

W32time startet nicht automatisch, wenn sich der PC nicht in einer Domäne befindet. Verdammter Microsoft!

Versuchen Sie, dies auszuführen: sc triggerinfo w32time start/networkon stop/networkoff

Eine mögliche Erklärung aus diesem Thread:

So wie ich es verstanden habe, wird der Dienst im Grunde erst aktiviert, wenn Sie oder eine Aufgabe oder eine Hardware oder ein Netzwerk ein Ereignis starten, um ihn einzuschalten. Wenn Sie versuchen, die Uhrzeit zu aktualisieren, rufen Sie den Dienst auf und lösen das Ereignis 'xyz-Dienst starten' aus. Es kann den Dienst auch ausschalten, wenn er fertig ist. Das ist sehr vereinfacht. Dies ist einer der Gründe, warum sieben schneller ist, da viele Dienste nur bei Bedarf ausgeführt werden, anstatt ständig darauf zu warten, dass sie verwendet werden. In der Tat müssen Sie nicht versuchen zu entscheiden, welche Dienste Sie benötigen oder nicht, sie können sich selbst darum kümmern.

Er spricht über den neuen Kernel in Windows 7.

Da Windows Server 2008 R2 und Windows 7 denselben Kernel verwenden, frage ich mich, ob die Auflösung dieselbe ist?

Sie empfehlen Einstellen des Dienstes auf automatischen/verzögerten Start um dies zu beheben.

Ich behaupte immer noch, dass es geradezu verrückt ist, dass ein auf automatisch eingestellter Dienst nicht gestartet wird. und ich verstehe den semantischen Unterschied zwischen einem verzögerten Autostart und einem Autostart nicht ganz, aber wenn es funktioniert, werde ich mich wohl nicht beschweren.


Dart/ Flattern: Anwendung stürzt beim Start ab

Ich habe dieses sehr interessante Problem, bei dem ich meine Anwendung auf dem Emulator problemlos ausführen kann, Flatter build apk erfolgreich ist, ich kann entweder die neue Version bei Google Play veröffentlichen oder einfach die apk auf meinem Telefon installieren (Pixel 2 XL, derzeit aktiv April Sicherheitspatch).

Aber wenn ich es auf meinem Handy starte, stürzt es sofort ab. Ich habe noch nicht versucht, die Debug-Apk zu installieren, zuerst möchte ich den Mai-Patch anwenden.

Ich habe bereits mehrmals versucht, Flatter zu aktualisieren, scheint aber auch dort kein Problem zu sein:

Ich habe kürzlich den Laptop gewechselt und das Git-Repository meines Codes auf diesem neuen überprüft. Es gab einige Probleme, aber diese habe ich schließlich behoben. Der einzige Unterschied besteht darin, dass der Projektname jetzt einfach osszefogasaszanhuzokert ist, während der Paketname osszefogasaszanhuzokert2 ist - aber ich denke, dies sollte keine Probleme verursachen.

Ich vermute, dass das Problem irgendwo in meiner AndroidManifest.xml liegen wird:

Android Studio markiert mehrere Attribute als nicht zulässig, aber wie Sie sehen, habe ich so ziemlich alles als Standard belassen - außer dass ich das android:label aus offensichtlichen Gründen geändert habe.

EDIT: Ich habe die Debug-Apk installiert und sie läuft perfekt. Ich konnte jedoch adb logcat des Absturzes der Release-APK abrufen, und das Problem scheint das folgende zu sein:


Alles sagt, dass Applocker funktionieren soll: Warum funktioniert es nicht?

Ich habe eine grundlegende Gruppenrichtlinie eingerichtet, die aus den standardmäßigen Applocker-Regeln besteht. Laut dem Technet-Artikel von Microsoft zu diesem Thema sind alle Dateien, die nicht ausdrücklich von der Richtlinie ausgeführt werden dürfen angeblich am Laufen gesperrt werden. Nachdem ich diese Richtlinie bereitgestellt und überprüft hatte, dass sie mit gpresult auf den richtigen Benutzer angewendet wurde, konnte ich immer noch eine exe aus dem Internet herunterladen und ausführen, eine exe, die im temporären Ordner des Benutzerprofils gespeichert wurde. An diesem Punkt googelte ich weiter und sah, dass der App Identity-Dienst ausgeführt werden musste, und das war es nicht: Also habe ich ihn wie jeder gute Administrator gestartet, auf automatisch gesetzt und für alle Fälle neu gestartet. Die Richtlinie funktionierte nach dem Neustart immer noch nicht. Unten sehen Sie einen Screenshot der aktuellen Richtlinie.

Ich habe die Verweigerungsregeln explizit hinzugefügt, weil die Standardregeln nicht funktionierten. Ich habe die Richtlinie korrekt auf den Computer angewendet und überprüft, ob die Regeln durchgesetzt werden (so steht es im Screenshot). Ich habe das Cmdlet Test-AppLockerPolicy verwendet, um zu überprüfen, ob die Regel die Ausführung von EXEs und MSIs blockieren sollte, aber dies ist nicht der Fall. Offen für die meisten Vorschläge, egal wie lächerlich sie klingen mögen.

Ich habe vergessen hinzuzufügen, dass ich während dieses ganzen Fiaskos das Ereignisprotokoll für AppLocker überprüft habe, und es war leer. Kein einziger Eintrag die ganze Zeit.


Ich verwende eine Datei ( onetime.php ) in meinem Include-Ordner inc , die in der functions.php enthalten ist und nach der Verwendung von dort gelöscht wird.

In meiner onetime.php ist meine Funktion f711_my_onetime_function() platziert. Da es jede Funktion sein könnte. Ich gehe davon aus, dass Ihr Skript getestet wurde und ordnungsgemäß funktioniert.

Um die Kontrolle über die Ausführung des Skripts zu erlangen, verwende ich beide

Fähigkeitskontrolle

Um zu verhindern, dass andere Benutzer versehentlich mein Skript ausführen:

Ein vorübergehender

um mich davon abzuhalten, das Skript versehentlich mehr als einmal auszuführen.

Die Datei zum Ausführen des Skripts in meiner Funktion f711_my_onetime_function() würde so aussehen:

Der Grund, warum ich den Transienten sofort nach der Prüfung auf Vorhandensein setze, ist, dass ich möchte, dass die Funktion ausgeführt wird nach das Skript wurde gegen zweimalige Verwendung gesperrt.

Wenn ich eine Ausgabe meiner Funktion benötige, drucke ich sie entweder als Kommentar in der Fußzeile aus oder filtere manchmal sogar den Inhalt.


7 Antworten 7

Nach mehreren Versuchen habe ich endlich die Datei gefunden, die während des Installationsvorgangs erstellt wird. Um zu verhindern, dass AnyDesk bei der Anmeldung startet, müssen Sie die Datei löschen.

Das löste meine Probleme mit dem automatischen Starten von AnyDesk bei der Anmeldung.

/Library (erste ist die Systembibliothek, letztere ist der Bibliotheksordner Ihres Benutzers) &ndash Simon Fredsted 6. Oktober 18 um 8:50 Uhr

Ich habe in die plist-Datei geschaut (/Library/LaunchAgents/com.philandro.anydesk.Frontend.plist) in einer der Antworten hier vorgeschlagen.

Sie können die Datei mit einem beliebigen Texteditor öffnen und die Zeilen ändern:

Update für Dateipfad: /Library/LaunchAgents/com.philandro.anydesk.Tray.plist

Öffnen Sie Ihr Terminal und geben Sie Folgendes ein:

Grundsätzlich wird dadurch der boolesche Autostart-Wert in der *.plist-Datei von true auf false gesetzt, wodurch die Autostart-Funktion deaktiviert würde. Es ist praktisch dasselbe wie die obigen Lösungen, aber viel einfacher.

Der Benutzer hatte zum Zeitpunkt dieser Antwort Version 5.0.1.

Für Windows-Benutzer müssen Sie die Anwendung beim Start deaktivieren und den Dienststarttyp auf manuell ändern.

Unter Windows 10 sollten Sie beispielsweise Folgendes tun:

  1. Task-Manager => Registerkarte Start => Klicken Sie mit der rechten Maustaste auf AnyDesk und ändern Sie es, um es zu deaktivieren.
  2. Systemsteuerung => Verwaltung => Dienste => AnyDesk Service => Rechtsklick und Eigenschaften auswählen => Starttyp von [Automatisch] bis [Manuell] => Sie können auch auf die Stopptaste drücken.

Wenn Sie das nächste Mal die Anwendung starten möchten, fragt Windows nach der Erlaubnis (UAC) zum Starten des AnyDesk-Dienstes und auch nach dem Beenden der Anwendung fragt Windows nach der Erlaubnis (UAC) zum Beenden des Dienstes.


Schau das Video: BOKU GIS Infos: QGIS Überblick