AB Store

Plugins, Sprachdateien, Rahmen & Hintergrundgrafiken
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Hi Wolfgang

sorry für die späte Antwort.
helf mir nochmal.
In dem Programm kann der Benutzer zusätzliche Daten erfassen oder auch andere Daten runterladen welche bei dem Programm gespeichert werden.
Ist es nicht auch problematisch wenn der Nutzer eine andere ahn Datei in AB öffnet und dann dein Programm damit ausführt? Es wird doch immer die ahnenwege.ged erzeugt.
Dann nutzen alle Ahndateien die selben Zusatzdaten.
Nur mal so :-)

Zu der "Whitelist" habe ich mir aber auch Gedanken gemacht :D
Das Problem bei der ABStore Sektion ist das ich nach dem Download für den Moment 2 apb Dateien habe.
Die bestehende und die neue runtergeladene in einem Temp Ordner.
Welche Whitelist wende ich nun an. Könnten unterschiedlich sein.
Nehme ich die bestehende wird eine Änderung der Liste erst beim übernächsten Update greifen.
Oder ich definiere einfach einen Ordnernamen welcher nicht gelöscht wird und enthaltene Dateien, wenn schon vorhanden, nicht überschrieben werden. Aber auch keine gelöscht werden.
Wenn aber der Pluginprogrammierer eine Änderung in diesen "einmal ausgelieferten" Dateien durchführt. Dann passiert hier durch den Store so keine Aktualisierung mehr und der Nutzer hat ggf Probleme wenn eine neue Programmversion alte inkompatible Dateien bekommt. Auch könnte dieser Ordner zugemüllt werden. Ist halt das Plugin für selbst verantwortlich.
Ich hoffe ich konnts rüberbringen.

Aber ich denke das Feature kann ich schon einbauen. Weiss nur noch nicht wie. ;-)
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Hallo Marc,

danke für deine Rückmeldung und Infos!

Ein paar Gedanken von mir dazu:

Ja, genau so ist es.
Die Zusatzdaten (heruntergeladene Landkarten und Ortsdaten) befinden sich in der "Ahnenwege.xls"-Datei. Und die Ahnendaten, die von Ahnenblatt exportiert werden ("Ahnenwege.ged"-Datei), können dann in die Landkarten der "Ahnenwege.xls"-Datei eingetragen werden.
Da viele unterschiedliche Landkarten in "Ahnenwege.xls" heruntergeladen und angelegt werden können, ist es auch möglich Ahnendaten aus unterschiedlichen Ahnendateien einzutragen, ohne, dass das zu Konflikten führen würde.

Bei Ahnenwege ist es so, dass die Demodaten in der Datei "Ahnenwege.dmo" ausgeliefert werden. Das ZIP-File enthält als keine "Ahnenwege-xls"-Datei. Beim ersten Start von Ahnenwege erkennt das Programm, dass noch keine "Ahnenwege.xls"-Datei vorhanden ist und legt eine neue "Ahnenwege.xls"-Datei mit den Demodaten an. Und genau diese Datei darf beim nächsten Update nicht gelöscht werden.

Aus meiner Sicht würde sich die "Whitelist" nur auf den Löschvorgang beziehen, sodass bestimmte bestehende Dateien beim Update nicht gelöscht werden. Der Kopiervorgang wäre davon nicht betroffen. Es würden immer alle Dateien, die sich im Zip-File befinden, in den Plugin-Ordner kopiert.
Es wäre also auch möglich, eine Datei vom Löschvorgang auszuschließen, die dann später beim Kopiervorgang überschrieben würde. Ist zwar nicht sinnvoll, wäre aber möglich - das liegt dann in der Verantwortung des Plugin-Programmierers... :)

Bei der abp-Datei würde ich jene der neuen Version vom ZIP-File verwenden, da nur die neue Version darüber "Bescheid weiß" was sie benötigt, falls sich Änderungen zur Vorgängerversion ergeben. Und die Änderungen würden dann sofort beim Update in Kraft treten - was sonst nicht der Fall wäre und wahrscheinlich zu Problemen führen würde.

Grüße
Wolfgang
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

also ich mach es so rein:

notDelF=datei.txt,c:\datei2.txt
notDelD=verzeichn,c:\verzeichn2

man kann mehrere dateien und verzeichnisse angeben. relativ vom PluginHauptverzeichniss oder absolutpfade

dauert etwas länger da ich gleich noch etwas aufräume und umbaue.
zb besteht auch das Problem wenn ein User ein Plugin deinstalliert, sollen ja auch die ignorierten Dateien, Verz erhalten bleiben.
Zuletzt geändert von MarcP am 21.01.2017, 23:24, insgesamt 1-mal geändert.
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Ja - danke für die Info - hört sich gut an. Damit sollten alle Anwendungsfälle abgedeckt sein.

Im AB-Store ist mir beim Ahnenwege-Plugin noch eine Fehlermeldung beim Beschreibungstext aufgefallen:
"Fehler: Startdatei nicht vorhanden/gefunden"

Hat das damit zu tun, dass die Startdatei kein EXE-File ist? Oder ist die abp-Datei nicht richtig konfiguriert? Das Plugin selbst lässt sich von AB aus problemlos starten.

Grüße
Wolfgang
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

So neue Version ist hochgeladen und unterstützt die beiden neuen variablen.

notDelF=xxx,xxx
optional
Datei Auflistung. Diese werden bei einem Update nicht gelöscht.
Die Pfad Angabe ist ausgehend Hauptverzeichniss des Plugins zu sehen.
Befinden sich diese Dateien allerdings auch in der neuen Plugin Version (bzw zip), werden diese überschreiben.
Dies ist zb nützlich um Dateien welche das Plugin selbst erzeugt beim Update nicht zu löschen

notDelD=xxx,xxx
wie notDelF. Nur halt Verzeichnisse
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Danke Marc!

Hab´s bereits in die "Ahnenwege.abp"-Datei eingebaut.

Warte mit dem Update jedoch noch etwas, bis sich die neue AB-Store Version verbreitet hat.

Wolfgang
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Hallo Marc,

hab gerade die neu AB-Store Version mit dem Eintrag "notDelF=Ahnenwege.xls" in der abp-Datei getestet.

Beim "Entpacke: Ahnenwege" tritt die folgende Ausnahme auf:



###########################################
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.ArgumentNullException: Der Wert darf nicht NULL sein.
Parametername: source
bei System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
bei AB_Store.clDeInstall.deinstall(Object& o, clItemLokalPlugin& newABP) in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\clDeInstall.vb:Zeile 21.
bei AB_Store.clDownloader.alles(clItemWeb& i, clOptionen& mopt) in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\clDownloader.vb:Zeile 107.
bei AB_Store.ucDownloadManager.Install_Item(clItemWeb& i) in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\ucDownloadManager.vb:Zeile 223.
bei AB_Store.ucDownloadManager.Install_Korb() in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\ucDownloadManager.vb:Zeile 193.
bei AB_Store.ucDownloadManager.Korb_startInstall() in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\ucDownloadManager.vb:Zeile 177.
bei AB_Store.ucDownloadManager.btnInstall_Click(Object sender, EventArgs e) in C:\Users\Marc\OneDrive\Programmierung\AHNEN\AB Store (VB)\AB Store\ucDownloadManager.vb:Zeile 241.
bei System.Windows.Forms.Control.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnClick(EventArgs e)
bei System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.ButtonBase.WndProc(Message& m)
bei System.Windows.Forms.Button.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Geladene Assemblys **************
mscorlib
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll.
----------------------------------------
AB Store
Assembly-Version: 1.4.0.0.
Win32-Version: 1.4.0.0.
CodeBase: file:///Q:/Ahnenblatt/Plugins/AB%20Store/store/AB%20Store.exe.
----------------------------------------
Microsoft.VisualBasic
Assembly-Version: 10.0.0.0.
Win32-Version: 14.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll.
----------------------------------------
System
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll.
----------------------------------------
System.Core
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll.
----------------------------------------
System.Windows.Forms
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll.
----------------------------------------
System.Drawing
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll.
----------------------------------------
System.Runtime.Remoting
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Remoting/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll.
----------------------------------------
AB Pfade und Exe
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///Q:/Ahnenblatt/Plugins/AB%20Store/Store/AB%20Pfade%20und%20Exe.DLL.
----------------------------------------
LangManager
Assembly-Version: 1.0.0.0.
Win32-Version: 1.0.0.0.
CodeBase: file:///Q:/Ahnenblatt/Plugins/AB%20Store/Store/LangManager.DLL.
----------------------------------------
System.Web
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll.
----------------------------------------
System.Configuration
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll.
----------------------------------------
System.Xml
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll.
----------------------------------------
mscorlib.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_de_b77a5c561934e089/mscorlib.resources.dll.
----------------------------------------
Ionic.Zip
Assembly-Version: 1.9.1.8.
Win32-Version: 1.9.1.8.
CodeBase: file:///Q:/Ahnenblatt/Plugins/AB%20Store/Store/Ionic.Zip.DLL.
----------------------------------------
System.Windows.Forms.resources
Assembly-Version: 4.0.0.0.
Win32-Version: 4.6.1586.0 built by: NETFXREL2.
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_de_b77a5c561934e089/System.Windows.Forms.resources.dll.
----------------------------------------

************** JIT-Debuggen **************
Um das JIT-Debuggen (Just-In-Time) zu aktivieren, muss in der
Konfigurationsdatei der Anwendung oder des Computers
(machine.config) der jitDebugging-Wert im Abschnitt system.windows.forms festgelegt werden.
Die Anwendung muss mit aktiviertem Debuggen kompiliert werden.

Zum Beispiel:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

Wenn das JIT-Debuggen aktiviert ist, werden alle nicht behandelten
Ausnahmen an den JIT-Debugger gesendet, der auf dem
Computer registriert ist, und nicht in diesem Dialogfeld behandelt.
###############################################

Die AB-Store Sektion in der abp-Datei sieht so aus:

[abstore]
PluginVersion=1.4.5.0
Author=Wolfgang8
ID=Ahnenwege
Name=Ahnenwege
Directory=Ahnenwege
Startfile=Ahnenwege.xla
notDelF=Ahnenwege.xls
Picture=AwThumb.jpg
Symbol=Ahnenwege.ico
Description=Ein Excel-Programm, mit dem man Orte, die in Ahnenblatt eingegeben wurden, in Landkarten eintragen und Infos dazu abfragen kann.

Hoffe, sie passt so...

Grüße
Wolfgang
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Abp sieht gut aus.
Ich schau es mir heute Abend an.
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

oh man was für ein billiger Fehler...blöde Arrays :D
so jetzt sollte es gehen.
habe es noch weiter umgebaut.

V 1.4.1
* beim Start wird als erstes auf neue ABStore Version geprüft und gleich nachgefragt ob diese auch als erstes installiert werden soll.
* AB Store Upgrade Prozedur für sich selbst und allgemein überarbeitet
* Fehler an Marcus gemeldet das die Forumsoftware nicht rechnen kann :D

Der erste Punkt hilft dir momentan noch nicht. Aber bei zukünftigen Aktionen dieser Art ist einigermaßen sichergestellt das der Nutzer erst den Abstore updatet.
Die momentane Version reiht den Store immer alt letztes im Warenkorb ein.(Um Warenkorb nicht kaputtzumachen. Quick n Dirty halt). Macht die neue ansich auch. Weisst aber beim Start gleich darauf hin das eine neue ABstore Version da ist und man kann diese mit einem Click gleich installieren und die Restlichen Plugins werden dann schon mit der neuen Version bearbeitet. allerdings muss der Warenkorb dann neu aufgebaut werden. Bei Plugins mit Updates passiert das hinzufügen ja automatisch. Nur vom User ausgewählte halt nicht.
hm. Ja ich könnte ne Liste übergeben....ne der Fall ist mir zu selten :D
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Danke für den Fix!

Das Update läuft jetzt bei mir ohne Fehlermeldung durch... :)

...allerdings wird die Datei "Ahnenwege.xls" im Plugin-Ordner trotzdem gelöscht, obwohl sie in der abp-Datei (im ZIP-File) als nicht zu löschen eingetragen ist. Möglicherweise greift AB-Store dabei auf die alte abp-Datei im Plugin-Ordner zu...?

Grüße
Wolfgang
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Neuer Tag, Neue Version

V 1.4.2
du hast bei dem Parameter, also Dateinamen, ein Leerzeichen hinten dran.
Das wurde daher zu den Dateinamen gerechnet.
Der Store kürzt jetzt generell bei allen Parametern von und hinten überstehende Leerzeichen weg.
wolfgang8
Beiträge: 112
Registriert: 30.09.2010, 19:19

Beitrag von wolfgang8 »

Super danke, jetzt passt´s

Auf das Leerzeichen wäre ich nie gekommen. Sind doch immer wieder die Kleinigkeiten, die den Ausschlag geben... :)

Wolfgang
Benutzeravatar
Fridolin
Beiträge: 3796
Registriert: 04.01.2017, 18:32
Wohnort: Regio Rhein-Neckar
Hat sich bedankt: 37 Mal
Danksagung erhalten: 32 Mal

Beitrag von Fridolin »

Hallo Marc,

irgendwo steht es bestimmt - aber so einfach ist es nicht zu finden: Ich würde gern AB Store installieren, nachdem ich einige Plugins schon ohne Store aktiviert habe.

Kannst du mal auf der Plugin-Download-Seite im Portal oder auf der GenWiki-Seite zum Plugin ein bis zwei Sätze zum Thema "Installieren" schreiben? Soll der Store jetzt eher in \%Programmordner Ahnenblatt%\Plugins oder in \%User-Docs%\Ahnenblatt\Plugins (wo ich sowas nicht gerne sehe, weil das m.E. ein Ort ist, der mir und meinen Daten gehört :wink: ) oder unter \%App-Data%\Roaming\Ahnenblatt\ abgelegt werden? Ihr habt da im Forum irgendwelche Diskussionen drüber gehabt. Und kann ich den Store einfach neben die anderen Plugins kopieren, oder muss ich die erstmal löschen und dann von innerhalb des Stores nochmal installieren?

Bisher steht auf GenWiki nur ein kurzer Vermerk unter "Anforderungen": Einbindung als AB Plugin (muss unter ..\Ahnenblatt\Plugins\ abgelegt sein). Aber welcher Ahnenblatt-Ordner ist gemeint?

Zwei lange Fragen, kurze Antwort erwünscht. Oder hab ich was übersehen, wo das schon steht?

Ich bin übrigens der Typ, der den Fahrlehrer erstaunt hat mit der Frage: Muss man beim Schalten eigentlich nicht gleichzeitig das Gaspedal treten? Der Motor geht doch sonst aus...

Fridolin
Aktuell Win11-64 pro 23H2, Ahnenblatt 3.60 - Daten via NAS, Programm lokal

Empfehlung: Alle relevanten Handbücher lesen :book:
(es gibt das Benutzerhandbuch und mehrere Themen-Specials!)
Benutzeravatar
MarcP
Beiträge: 845
Registriert: 19.04.2010, 16:30
Wohnort: Niederkassel

Beitrag von MarcP »

Hallo Fridolin

ich habs mal auf der Hilfe Seite ergänzt
kopiers trotzdem gleich mal hier rein:

====für eine normale Ahnenblatt Installation====
* es ist empfohlen das Plugin im \<user>\dokumente\Ahnenblatt\PlugIns zu kopieren.
* es ist auch möglich dieses im \programme\Ahnenblatt\Plugins abzulegen. Es ist jedoch wahrscheinlich nötig händisch Schreibrechte für den Benutzer in dem Verzeichniss zu setzten da sonst keine Plugins/Rahmen usw installiert werden können. Existiert ein \<user>\dokumente\Ahnenblatt\PlugIns Ordner so werden trotzdem alle Inhalte in diesen installiert

==== für eine Ahnenblatt Portable Versionen====
* in \Ahnenblatt\PlugIns kopieren
* der AbStore erkennt selbständig ob er sich in einer Portablen Version befindet.
* aller Inhalte werden vom AB Store in die jeweiligen Verzeichnisse der Portablen Version installiert und verwaltet
* es erfolgt kein Zugriff auf vorhandene Ordner einer eventuell vorhandenen Installationsversion

Das mit der Eigene Dokumente Geschichte...
Es ist so das einige Plugins Daten des Nutzers im eigenen Pluginverzeichniss ablegen. Oder es auch Nutzern so komfortabler gemacht werden soll eigene Werke von Rahmen, Hintergrundbilder oder auch Plugins leichter zu verwalten. Es läd ja nicht jeder sein Zeug hier im Forum hoch.
Daher ist es schon ganz gut so.
Antworten