Inhaltsverzeichnis
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 XML-Header, 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 | Wert1) | Funktion |
|---|---|---|
iconspath | Resources\Icons | Pfad aus dem Primus die Icons 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 |
licenseuncpath | <PFAD> 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> | 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 sprachabhängigen Dateien geladen werden |
version | <ZAHL> | 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 Tag-Namen, 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 Attributs 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 Tag-Namen, die als Befehl dienen.
| Tag-Name | Funktion |
|---|---|
| CheckRunningProcesses | Überprüft ob ein bestimmter Process läuft und gibt ggf. einen Hinweis aus diesen zu beenden |
| CopyDir | Kopiert ein Verzeichnis |
| CopyFile | Kopiert eine Datei |
| Execute | Führt ein Programm oder einen Batch aus |
| 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 |
|---|---|
| description2) | 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 AddIns 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.exe3) | 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.
<?xml version="1.0" encoding="UTF-16"?> <PrimusSettings primusserver="\\primus\Setup" version="25" stringspath="\Resources\Strings\de" iconspath="Resources\Icons" licenseuncpath="." licensename="CAD" licenseactivation_="LOCAL" licensecheck_message_users_="herac|salmin"> <MainWindow> <Position left="-3417" top="51" width="1013" height="945" maximized="0" /> <Splitter dist1="263" dist2="381" dist3="430" dist4="462" dist5="40" mode1="Hor" mode2="Ver" mode3="Hor" /> <Preview active="1" /> <Addressbar active="1" /> <Toolbar iconssize="16" /> <TreeView_ iconssize="18" /> </MainWindow> <Setup version="21"> <CheckRunningProcesses name="Edge" description="Close all Sold Edge processes to be able to install SEInterface AddIn and press OK" /> <CopyDir from="%SERVER%\Resources\AddIns" to="%CLIENT%\Resources\AddIns" replace="1" /> <CopyDir from="%SERVER%\Resources\AppInterfaces" to="%CLIENT%\Resources\AppInterfaces" replace="1" /> <CopyDir from="%SERVER%\Resources\Icons" to="%CLIENT%\Resources\Icons" replace="1" /> <CopyDir from="%SERVER%\Resources\Images" to="%CLIENT%\Resources\Images" replace="1" /> <CopyDir from="%SERVER%\Resources\Strings" to="%CLIENT%\Resources\Strings" replace="1" /> <CopyFile from="%SERVER%\Resources\LISTS.xml" to="%CLIENT%\Resources\LISTS.xml" replace="1" /> <CopyFile from="%SERVER%\Resources\SE_MATERIAL.LIST.xml" to="%CLIENT%\Resources\SE_MATERIAL.LIST.xml" replace="1" /> <CopyFile from="%SERVER%\RegisterAddIns.bat" to="%CLIENT%\RegisterAddIns.bat" overwrite="1" /> <CopyFile from="%SERVER%\PrimusSE.CFG.xml" to="%CLIENT%\PrimusSE.CFG.xml" overwrite="1" /> <CopyFile from="%SERVER%\Newtonsoft.Json.dll" to="%CLIENT%\Newtonsoft.Json.dll" overwrite="1" /> <CopyFile from="%SERVER%\Newtonsoft.Json.xml" to="%CLIENT%\Newtonsoft.Json.xml" overwrite="1" /> <RegAsmNET path="%CLIENT%\Resources\AppInterfaces\SolidEdge\AddIn\PrimusSEAddIn.dll" param="/codebase" /> <CopyDir from="%SERVER%\Data\LocalFiles" to="%CLIENT%\LocalFiles" replace="0" /> </Setup> <SavedSelections> </SavedSelections> </PrimusSettings>
