AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Manifest-Creator

Manifest-Creator

Ein Thema von himitsu · begonnen am 2. Sep 2009 · letzter Beitrag vom 26. Dez 2015
Antwort Antwort
Seite 4 von 18   « Erste     234 5614     Letzte » 
Benutzerbild von himitsu
himitsu Online
Registriert seit: 11. Okt 2003
Moin Leutchen,

hatte mir eben mal schnell 'nen billiges (inzwischen leicht aufgemotztes) Progrämmchen erstellt,
womit man sich 'nen XP-Manifest zusammenklicken könnte.

vielleicht kann's ja wer gebrauchen



Ist jetzt nix Besonderes und ich weiß auch noch nicht, ob auch alles so richtig läuft

Erstellt wird die XML-Resource, welche man in eine *.manifest kopiert/speichert
und dann entweder so mit seinem Programm mitliefert oder direkt in die Resourcen einbindet.
Wie man es halt so kennt.

Zusätzlich wird noch ein Resourcen-Script erstellt, welches die Resource direkt enthält und nicht erst von einer externen Datei einbindet.
  • Standardmäßig ist eine Englisch-Deutsche-Sprachdatei direkt integriert
  • wird eine externe Sprachdatei "ManifestCreatorLang.xml" im Projektverzeichnis gefunden, so wird diese stattdessen beim Programmstart geladen
  • es kann sich also jeder die angehängte ManifestCreatorLang.xml nehmen, um weitere Sprachen erweitern (zum Format in die ersten Kommentare der ManifestCreatorU.pas reinschauen oder einfach mal nach >>"eng"<< suchen, dieses direkt übersetzen
    und dann natürlich hier im Thread hochladen )
  • es werden keinerlei Informationen gespeichert (weder in der Registry, noch in irgendeiner Datei ... abgesehn von den Dateien, welche ihr euch selber manuell speichert, dazu zählen auch die Optionen, welche im Programmverzeichnis gespeichert liegen)
  • und falls wem noch die eine oder andere Section fehlt, dann möge er sich einfach melden
    (nachsehn kann man z.B. hier http://msdn.microsoft.com/en-us/library/aa375632.aspx )
  • die ActiveX-Libraries werden standardmäßig nicht geladen,
    da es sonst etwas langsamer läd (bei mir so 2-5 Sekunden, statt fast sofort)
  • das Laden der ActiveX-Libs läßt sich aber zuschalten
    > einfach als Parameter "-LoadActiveX" mit angeben
  • es läßt sich via Parameter ein Projekt (*.ini) erstellen/laden
    gespeichert muß aber selber werden (sowas wie Autosave beim Beenden gibt's nicht)
    > das Projekt kann via Parameter geladen werden "-IniFile=..."
  • dieses Programm läßt sich als Tool in die IDE integrieren
    Code:
    Titel:     Manifest-Creator
    Programm:  [color=gray]C:\ ... \[/color]ManifestCreator.exe
    Parameter: -IniFile=$PROJECT -CreateIni
    oder
    Code:
    ...
    Parameter: -IniFile=$PROJECT -CreateIni -LoadActiveX
    bis Delphi 2007 so
    Code:
    Parameter: -IniFile== $PROJECT -CreateIni
    und bis Delphi 7 so
    Code:
    ...
    Parameter: -IniFile== $EXENAME -CreateIni
  • in die Resourcedatei (.rc) können nun auch ein Programmicon und Versionsinformationen integriert werden
  • in dem Suchfeld kann man Einträge über ihren Namen suchen und es werden Teilweise auch untegeordnete Infos berücksichtigt, z.B. die CLSIDs und der DLL-Name im Bereich ActiveX
  • die ComboBox mit dem * dahinter, ändert nix an dem Manifest, sondern zeigt nur rechts im InfoMemo passende Texte an, also in diesem Fall was mit der Anwendung unter verschiedenen Rechten passiert.




[initial] v1.2 2009-09-02
[update] v1.3 2009-10-24 19:05
...
[update] v1.4b 2009-12-18 22:45 - Fehler in Sprachdatei
[update] v1.4d 2010-05-25 18:30 - siehe Beitrag #59 (Vieles)
[update] v1.4f 2010-05-29 14:00 - siehe Beitrag #60-#72 (neue IDE-Integration)
[update] v1.4g 2010-05-31 22:00 - siehe Beitrag #74 (kleinere Fehler und neue Parameterbehandlung)
[update] v1.4g2 2010-06-01 09:00 - siehe Beitrag #75 (kleiner Fehler in Sprachverwaltung)
[update] v1.4h 2010-06-01 12:00 - siehe Beitrag #78 (Probleme mit der Projektverwaltung)
[update] v1.5 2010-06-03 00:30 - siehe Beitrag #80 (gewaltige Aufräumaktion)
[info] v1.5a 2010-08-04 08:06 - Neues Forum (URLs der Delphi-PRAXiS haben sich geändert)
[info] v1.5a 2010-08-27 12:45 - Anhänge neu hochgeladen (das Forenupdate hatte die Dateinamen geschrottet) und dabei gleich das UPX weggelassen (man darf nun eh keine EXE mehr hochladen )
[upload] beim Update gehen die Counter verloren > alt = 303x exe, 30x xml und 48x Sources (Memo an mich selbst, da ich garnicht neugierig bin)
[update] v1.5b 2010-08-27 15:33 - CMDs überarbeitet (UPX deaktiviert)
[update] v1.5c 2013-10-03 21:16 - siehe Beitrag #111 - Horst0815 (Support: XE-XE4 & Win8 / Archtektur: amd64)
[update] v1.5d 2013-11-09 20:38 - siehe Beitrag #109 & #112 - blablab & nru (Bugfix: $RESOURCE / Support: Win8.1)
[update] v1.6 2013-11-10 23:23 - siehe Beitrag #122 (Support: XE5 / Codeformatierung und einige Komponentennamen überarbeitet / Funktionen soriert (Regionen) / große Funktionen aufgeteilt / XML als Resource eingebunden)
[update] v1.6a 2013-11-11 01:44 - assemblyIdentity:language berichtigt und kleiner Bugfiges
[update] v1.6b 2013-11-11 23:43 - siehe Beitrag #125 (Bugfix: Ressource-Typ / weitere Komponenten benannt / Windows Server-Namen aufgenommen / Systemsprache laden )
[upload] beim Update gehen die Counter verloren > alt = 557x exe, 248x xml und 279x Sources (860x 278x 327x)
[update] v1.x 2013-12-15 - Sprachbehandlung überarbeitet / angefangen alle Komponenten zu übersetzen / neue XML-Behandlung angefangen (siehe __TestButton)
[update] v2.0 2015-02-08 23:23 - siehe Beitrag #137 (XE6-XE8 / Windows 10 / IdentityType win32 / alle Komponenten fertig übersetzt
[update] v2.0a 2015-02-13 04:05 - siehe Beitrag #140 (DPI-Aware / Hilfe-URLs / Sprachenladefunktion überarbeitet / Suche für fehlende Hilfetexte )
[upload] beim Update gehen die Counter verloren > alt = 176x exe, 84x xml und 104x Sources (1036x 362x 431x)
[update] v2.0b 2015-02-14 12:38 - siehe Beitrag #147 (Bugfix: DPI-Aware / Bugfix: File-Version / Übersetzungen)


Online: http://svn.geheimniswelten.de:8080/!/#ManifestCreator
Checkout: http://svn.geheimniswelten.de:8080/s...reator/Develop
Login, falls nötig: Gast (gast)

Es wird nur die EXE benötigt.
Die Sprach-XML kann man nutzen, um die Übersetzng oder bestimmte Optionen zu erweitern. (z.B. neue Sprache oder OperatingSystemIDs)
Und wofür der Quelltext (inkl. XML) ist, sollte wohl klar sein.
Miniaturansicht angehängter Grafiken
screeny_201.png  
Angehängte Dateien
Dateityp: 7z ManifestCreator.exe.7z (702,1 KB, 397x aufgerufen)
Dateityp: xml ManifestCreatorLang.xml (69,0 KB, 157x aufgerufen)
Dateityp: 7z ManifestCreator.source.7z (213,7 KB, 165x aufgerufen)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (19. Mär 2015 um 10:53 Uhr)
 
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#31
  Alt 4. Sep 2009, 00:01
* Text im Beitrag #1 mal neu geschrieben

* das Bild etwas erweitert (damit nicht nur die eine "überfüllte" ActiveX-Seite sichtbar ist
und nimand mehr denkt es sei da überall so überfüllt ... manchmal ist es ja wirklich recht leer)

* der Parameter für das ActiveX wurde umbenannt und umgedreht
- jetzt besagt er nicht mehr "lade nicht", sondern "lade jetzt" und es ist standardmäßig deaktiviert
- es gibt dafür einen weiteren Button auf der Page, wo man dieses ihne Neustart nachladen kann

* auf die selbe Weise, wie das Nachladen des ActiveX-Libs, könnte man zwar auch eine andere Sprache leicht laden, aber ich glaub ich laß es so und jeder der eine andere Sprache haben möchte, kompiliert sich dann einfach die/eine passende SprachUnit mit ein.
(da ich ja keine Optionen speichere, müßte man die Sprache ja sonst im schlimmsten Fall nach jedem Programmstart neu laden)

@Mackhack und Andere (wer will):
* einfach nur die ManifestCreatorLang.pas aus dem Anhang (Post #1) nehmen und die Strings übersetzen
* ich glaube Viele hier würden auf "German only" voll abfahren
* ein richtiges "English" wäre bestimmt auch nicht schlecht (ich vermute mal, daß Einiges nicht gut "gelungen" ist)

Und ich weiß, daß da einige Strings mehrfach im Array vorkommen, aber ich wollte es mir jetzt mit den Stringladefunktionen auch nicht schwerer machen, als nötig.
Im Notfall könnte man ja einfach eine je Konstante anlegen und diese dann stattdessen mehrfach in das Array einfügen.

Von der Dateigröße her sollte es egal sein, da der Compiler vorkommen eines Strings/Textes eh nur einmal speichert.


Um die ein/zwei Leerstrings müßte ich mich auch demnächst mal kümmern.
(aber die sind jetzt nicht unbedingt wichtig und "nur" fehlende Hilfetext zu irgendwelchen Eingabefeldern)

Caption = der Text auf der Komponente (bzw. Label- oder Buttonbeschriftung)
Caption2 = der Text bzw der Eintrag zu dieder Komponente links oben in dem TreeView
Help = der jeweilige Text in dem Memo oben recht, welche bei Auswahl der Komponente angezeigt wird
  Mit Zitat antworten Zitat
Benutzerbild von Mackhack
Mackhack

 
Delphi 2006 Architect
 
#32
  Alt 4. Sep 2009, 05:24
Nach bestem Wissen und Gewissen uebersetzt ins Deutsche (obwohl ich merkte dass mein Deutsch nicht mehr das beste war). Ausserdem einige kleine Schreibfehler in der Englischen Sprachdatei ausgebessert.

Ich hab leider hier in USA keine Umlaute das sollte bitte jemand noch ausbessern. Ich haette es selbst getan aber geht eben nicht.

Einige Controls muessten in der Groesse noch angepasst werden da Speichern definitiv laenger ist als Save.
Angehängte Dateien
Dateityp: pas manifestcreatorlanggerman_124.pas (14,2 KB, 23x aufgerufen)
Dateityp: pas manifestcreatorlang_885.pas (13,6 KB, 19x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

 
Delphi 11 Alexandria
 
#33
  Alt 4. Sep 2009, 07:51
Super mächtige Sache!!
Prima, ich werds nachher mal ausprobieren.

Sherlock
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

 
Delphi 10.2 Tokyo Professional
 
#34
  Alt 4. Sep 2009, 08:16
Also erstmal echt super das Ding
Danke dafür.

Zwei Sachen sind mir aufgefallen:
1. Identity -> Version from File: Der Auswahldialog zeigt keine Dateien an, weil der Filter eine Klammer am Anfang enthält (*.exe
2. Supported OS ist wohl eher ein Verständnisproblem. Dort gibt die Auswahlliste Vista / Sieben / Vista / Sieben an. Die ersten beiden Einträger erzeugen die Einträge mit dem Rumpf und den IDs für die Betriebssysteme im Manifest. Die anderen beiden erzeugen nur den Rumpfgeintrag für die Supported OS im XML ohne die IDs

Aber wirklich Klasse, auch das Du derart auf die Wünsche der Forenmitglieder eingehst und Deine Zeit her gibst. Und alles nur für ein Tool das kurz etwas für DICH machen sollte

THX, Chris
Christian E.
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
 
#35
  Alt 4. Sep 2009, 09:04
Zitat von Mackhack:
Ich hab leider hier in USA keine Umlaute das sollte bitte jemand noch ausbessern. Ich haette es selbst getan aber geht eben nicht.
Done.

(+ einige wenige Grammatikfehler korrigiert)
Angehängte Dateien
Dateityp: pas manifestcreatorlanggerman_150.pas (14,1 KB, 26x aufgerufen)
米斯蘭迪爾
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#36
  Alt 4. Sep 2009, 09:33
  • Sprachen erweitert
  • zugleich das Problem mit dem OpenDialog für Versionsauswahl berichtigt
  • und einige Komponenten in Größe und Position für die Sprachen angepaßt

1. ist gefixt ... schlimm, wenn man kurz vorm Upload noch schnell die .dll einfügt und es nicht mehr prüft
2. das versteh ich jetzt nicht?

Och, ist ja nur 'nen Tag dafür daufgegangen, aber ich ja ja zwischendurch auch noch Anderes gemacht
Und innerhalb von 2 Tagen ein ganzes Programm zweimal erstellt (wenn man die neugestaltung der GUI und die Sprachverwaltung berücksichtigs) ist doch garnicht so schlecht? Da fühlt man sich mal so, als wenn man was geschaft hat ... da sitze ich seit Tagen an anderen Programmen und es sieht von Außen nicht so aus, als wenn da etwas vorwärts geht.

[edit]
OK, war zwar grad beim Hochladen, aber der Daniel wurde doch noch schnell berücksichtigt


Vielen Dank nochmals an die Übesetzer
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

 
Delphi 10.2 Tokyo Professional
 
#37
  Alt 4. Sep 2009, 09:49
Hallo,

Zitat von himitsu:
2. das versteh ich jetzt nicht?
Also:
Supported OS hat vier Checkboxen
  • Windows Vista (1)
  • Windows Seven (2)
  • Windows Vista (3)
  • Windows Seven (4)
Wird (1) oder (2) ausgewählt kommt es zu folgendem Eintrag:
Hier wurde (1) und (2) ausgewählt
XML-Code:
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
Wird (3) oder (4) ausgewählt kommt es zu folgenden Eintrag:
XML-Code:
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
    </application>
  </compatibility>
nun meine Frage:
1. Warum gibt es die Betriebssysteme jeweils zwei mal
2. Warum entsteht bei (3) oder (4) nur der Rumpf?

Gruß, Chris

P.S.: Ein Tag Zeit ist dennoch ein Tag Zeit
Christian E.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#38
  Alt 4. Sep 2009, 10:20
Eigentlich wollte ich erstmal fargen, ob dieses Doppelte auch links in dem TreeView der Fall ist/war,
aber ich vermute inzwischen mal JA.

Das Problem war wohl, daß du die ActiveX-Libs mit geladen hattest?

In diesem Fall wird der Konstructor nochmals aufgerufen und ich hatte dort die ListBox vor dem Befüllen nicht geleert.

Und warum nur die 1. Beiden Auswahlen was bewirkten ...
- die Abfrage, ob der Abschnitt rein soll lief über die ListBox und das was tatsächlich eingefügt wurde, war hart einprogrammiert.

PS: nja, dafür sollte sich langsam die Arbeit an diesem Programm erledigt haben
und für zukünfite Erweiterungen hab ich mir inzwischen viel Arbeit schon im Voraus gespart,
indem sich z.B. der Index aus der GUI selber aufbaut und vieles sich auch selber verwaltet.
> praktisch nur neue Eingabeelemente, TabSheets und die zugehörigen SprachStrings in die Arrays und fertig
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

 
Delphi 10.2 Tokyo Professional
 
#39
  Alt 4. Sep 2009, 10:25
Zitat von himitsu:
Eigentlich wollte ich erstmal fargen, ob dieses Doppelte auch links in dem TreeView der Fall ist/war,
aber ich vermute inzwischen mal JA.
War so
Zitat von himitsu:
Das Problem war wohl, daß du die ActiveX-Libs mit geladen hattest?
Hab ich tatsächlich gemacht

Alles klar, dann weiß ich ja jetzt was Sache war.

THX
Christian E.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

 
Delphi 12 Athens
 
#40
  Alt 4. Sep 2009, 10:34
Zitat von ChrisE:
Hab ich tatsächlich gemacht
und ich hatte zufällig, nachdem ich diese mal geladen hatte, nicht in diese Liste geguckt

ach ja, die kleine "Index out of Range"-Exception der letzen 1/4 Stunde, falls die wer beim Programmstart bemerkt hatte, wurde grad mit behoben,
hatte beim Ändern für dieses Windows-Version-Dinges da was mit eingebaut
(mußte aber einfach nur die WindowsListe vor dem Laden der SprachString füllen)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

(?)

LinkBack to this Thread

Erstellt von For Type Datum
Manifest ? BytecoreWiki This thread Refback 4. Aug 2010 18:08

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz