====== Primus.xml ====== Die **Primus.xml** wird beim Start von Primus als erstes gelesen. Der grundsätzliche Aufbau ist wie bei einer [[CFG.XML]], bestehend aus [[cfg.xml#XML-Header]], [[cfg.xml#Stammelement]] und mehreren Abschnitten im Stammelement. ===== Update ===== Wird ein Primus Client aktualisiert, dann wird der Inhalt der //Primus.xml//, mit Ausnahme des Attributs ''version'', nicht verändert. Änderungen an den anderen Einträgen, wird nur von Primus Client selbst vorgenommen. Dadurch bleiben diese von einem Update unbeeinflusst. ===== Stammelement ===== Das Stammelement heißt **PrimusSettings** und hat mehrere Attribute. ^Attribut ^Wert((Defaultwerte in Fett)) ^Funktion^ |''iconspath''|**Resources\Icons**|Pfad aus dem Primus die [[Glossar#Icon]]s laden soll| |''licenseactivation''| ''LOCAL''| Die Lizenzaktivierung erfolgt nur lokal.| |''licensecheck_message_users''| | Durch ''|'' getrennte Liste von Benutzernamen, die bei Aktivierung einen Hinweis erhalten dürfen.| |''licensename''| ''CAD'', ''OFFICE'', ''VIEWER''| Hiermit kann optional (Pflicht ab Primus2021) erzwungen werden das Primus mit einer bestimmten Lizenz gestartet wird {{tag>Umstellung_P7_auf_P2021}}| |''licenseuncpath''|'''' oder ''.'' |Gibt den Pfad zur Lizenzdatei an. Wird nur benötigt wenn dieser von ''primusserver'' abweicht. Die Angabe eines Punkt (''.'') bedeutet, dass die Lizenz lokal auf dem Client liegt.| |''primusserver''| ''''| Pfad zum Server, mit dessen ''Primus.xml'' die ''version'' verglichen wird und ggf. ein Update erfolgt.| |''stringspath''|**\Resources\Strings\de**|Definiert aus welchem Verzeichnis die [[Spracheinstellung|sprachabhängigen]] Dateien geladen werden| |''version''| '''' |Dieser Wert dient zum Vergleich mit dem Attribut **version** des Setup Tag auf dem Server um ggf. ein Update auszuführen. Beim Update wird der Wert mit dem des Servers gleichgesetzt.| ===== Abschnitte ===== Dir **Primus.xml** ist in mehrere Abschnitte unterteilt. Der Abschnitt //Setup// ist nur auf dem Server vorhanden und wird vom Primus Setup auch nicht mit kopiert. Er würde auf dem Client jedoch ignoriert werden. ==== MainWindow ==== Im Abschnitt **MainWindow** wird die Größe und die Aufteilung des Primusfenster definiert. Es gibt verschiedene [[Glossar#Tag-Name]]n, die als Befehl dienen. ^Tag-Name ^Funktion ^ |Position|Definiert die Größe und Position des Primusfensters| |Splitter|Legt die Unterteilung des Fensters fest| |Preview|Legt mit dem Attribut **active** (0 / 1) fest ob die Vorschau aktiv ist| |Addressbar|Legt mit dem Attribut **active** (0 / 1) fest ob die Adressleiste aktiv ist| |Toolbar|Legt mit dem Attribut **iconsize** (z.B. 16)) die Größe der Icons in den Kontextmenüs fest| |TreeView|Legt mit dem Attribut **iconsize** (z.B. 18)) die Größe der Icons in Ordnerliste fest| ==== Setup ==== Der Abschnitt **Setup** definiert welche Aktionen zum Aktualisieren eines Clients erforderlich sind und ob eine aktualisiert werden muss. Dazu wird der Wert des [[Glossar#Attribut]]s **version** des //Stammelements// auf dem Client, mit der Version von //Setup// auf dem Server verglichen. Ist der Wert auf dem Server höher als auf dem Client, dann wird der Anwender zu einer Aktualisierung aufgefordert. Sie ist nur in der //Primus.xml// auf dem Server, bzw. im gemeinsamen Setup Verzeichnis vorhanden. Die Anweisungen werden in der Reihenfolge, in der sie im Abschnitt //Setup// stehen, ausgeführt. Es gibt verschiedene [[Glossar#Tag-Name]]n, die als Befehl dienen. ^Tag-Name ^Funktion^ | [[Primus.xml#CheckRunningProcesses]] |Überprüft ob ein bestimmter Process läuft und gibt ggf. einen Hinweis aus diesen zu beenden| | [[Primus.xml#CopyDir /CopyFile|CopyDir]] |Kopiert ein Verzeichnis| | [[Primus.xml#CopyDir /CopyFile|CopyFile]]|Kopiert eine Datei| | [[Primus.xml#Execute]]| Führt ein Programm oder einen Batch aus| | [[Primus.xml#RegAsmNET]]|Registriert eine DLL in Windows| === CheckRunningProcesses === Mit CheckRunningProcesses kann geprüft werden ob bestimmte Prozesse noch aktiv sind, um den Anwender mit einer Meldung zu informieren diese vor dem Update zu beenden. Der Updatevorgang wird angehalten bis der Anwender auf **Weiter** klickt. Der Befehl wird mit folgenden Attributen gesteuert: ^Attribut ^Funktion^ |description((Hier ist die Verwendung eines [[Elementtext]]es nicht möglich)) |Meldung die dem Anwender angezeigt wird| |name|Name des zu prüfenden Prozesses| === CopyDir / CopyFile === Mit **CopyDir** und **CopyFile** können komplette Verzeichnisse samt Inhalt oder einzelne Dateien kopiert werden. Der Befehl wird mit folgenden Attributen gesteuert: ^Attribut ^Funktion ^Beispiel^ |from|Verzeichnis das kopiert werden soll|''%SERVER%\Resources\AddIns''| |to|Zielverzeichnis|''to="%CLIENT%\Resources\AddIns"''| |replace|Mit **replace** wird definiert ob das **to**-Element ggf. vorher gelöscht werden soll. Beim Kopieren von Verzeichnissen (''CopyDir'') werden, die Dateien jedoch überschrieben, es wird nur vorher nicht das gesamte Verzeichnis gelöscht. |''replace="1"''| === Execute === Mit **Execute** können während des Installationsprozesses, Programme oder Skripte ausgeführt werden. Der Befehl wird mit folgenden Attributen gesteuert: ^Attribut ^Funktion ^Beispiel^ | path| Pfad zum Programm / Skript| path="%CLIENT%\RegisterAddIns.bat"| | parameters| Parameter die übergeben werden| | Es können in beiden Attributen die Platzhalter ''%CLIENT%'' und ''%SERVER%'' genutzt werden. === RegAsmNET === Mit **RegAsmNET** können DLLs von [[AddIn]]s in Windows registriert werden. Dies ist z.B. für das Primus Solid Edge AddIn erforderlich, damit es von der Anwendung beim Start mit geladen wird. Der Befehl wird mit folgenden Attributen gesteuert: ^Attribut ^Funktion ^Beispiel^ |param|Übergibt Parameter an RegAsm.exe((Details siehe Hilfe zur RegAsm.exe)) |''param="/codebase"''| |path|Vollständiger Pfad zur DLL|''path="%CLIENT%\Resources\AppInterfaces\SolidEdge\AddIn\PrimusSEAddIn.dll"''| ==== SavedSelections ==== ===== Beispiel ===== Hier ein komplettes Beispiel einer //Primus.xml//, wie sie auf dem Server liegt. {{tag>Lizenzierung Konfigurations-XML}}