| | |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| | |
 | SolidWorks Kurs mit IHK-Zertifzierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: Installationsproblem bei 2005 (1944 mal gelesen)
|
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 04. Apr. 2005 15:11 <-- editieren / zitieren --> Unities abgeben:         
Hi Installationsgurus Seit SWX 2004 setzen wir zur Installation ein Administratorabbild ein. Einmal wöchentlich läuft auf jedem Rechner ein Update-Script, das folgende Kommandozeile enthält:
Code:
msiexec /i "<MSI-Pfad>" INSTALLDIR="c:\programme\solidworks" SOLIDWORKSSERIALNUMBER="xxxx xxxx xxxx xxxx" REGCODE="ABCDEFG" UPGRADEWINSTALL=1 ENABLEPERFORMANCE=0 DIMENSIONSTANDARDSELECTION=2 UNITSELECTION=0 DETAILINGOPTION=1 /qb
<MSI-Pfad> ist der Pfad zur MSI-Datei im Administratorabbild. Bis einschließlich SWX 2004 SP4.2 hat alles hervorragend geklappt- mit dieser Zeile war sowohl eine komplette Client-Neuinstallation als auch ein Client-Update auf ein neues Servicepack möglich, ging alles völlig problemlos. Damit musste ich nur das Administratorabbild updaten und hatte mit einem Schlag alle Clients erledigt. Seit SWX2004 SP 5 ist das leider anders. Eine komplette Neuinstallation ist zwar auf diesem Weg immer noch möglich, ein Update der bestehenden leider nicht. Das Problem: Wenn der Installer ein installiertes SolidWorks findet, legt er immer ein neues Programmverzeichnis c:\programme\solidworks(2) an, egal, was in der Kommandozeile steht. Ebenso mit SWX 2005: auch hier wird ein neues Verzeichnis c:\programme\solidworks(2) erzeugt, anstatt die bestehende Installation upzudaten. Hat mir jemand einen Tipp, wie ich das richtig machen kann? Wie muss die Kommandozeile lauten, damit mir SWX2005 über eine bestehende SWX2004-Installation drüber geklatscht wird bzw. das 2004 richtig auf 2005 upgedatet wird? Ich habe echt keine Lust, wieder für jedes Update vor jeden einzelnen Arbeitsplatz hin zu sitzen. Bitte bitte...sagt mir, dass das geht! [Edit]PS: Natürlich lautet die Zeile auf jedem Rechner anders und statt xxx... und ABCD... stehen da die richtigen Seriennummern und Reg.-Codes drin [/Edit] ------------------ Klaus Danke für deinen Besuch in meinem Gästebuch! www.al-ko.de privat... ForumsChat: Schau doch mal hier rein, wenn du Zeit hast... [Diese Nachricht wurde von KMassler am 04. Apr. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 04. Apr. 2005 16:31 <-- editieren / zitieren --> Unities abgeben:         
|
Rene Spandler Mitglied Dipl.-Ing. (FH) Masch.-bau
 
 Beiträge: 162 Registriert: 10.06.2002 Win2k SP4, SWX2004 SP5.0 P4 2.4GHz 1GB RAM ATI Fire GL2
|
erstellt am: 04. Apr. 2005 17:20 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Zitat: Original erstellt von KMassler: Ha! Habs gefunden!Ich muss die Kommandozeile noch ergänzen um den Parameter SWMIGRATE=<Vorversion>, z.b. SWMIGRATE="Solidworks 2004 SP05" und schon gehts. Wichtig ist nur die richtige Schreibweise.
Klaus, Glückwunsch. Gibst Du Dir selbst jetzt 10 Unities?  Zitat: Jetzt muss ich nur noch einen Weg finden, wie ich das möglichst einfach in meine Skripte reinbekomme für jedes SP-Update.
Was hältst Du davon, das Skript zentral abzulegen und es mit einem anderen (statischen) Skript auszuführen? Viele Grüße. Rene Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 05. Apr. 2005 08:01 <-- editieren / zitieren --> Unities abgeben:         
Zitat: Original erstellt von Rene Spandler: Was hältst Du davon, das Skript zentral abzulegen und es mit einem anderen (statischen) Skript auszuführen?Viele Grüße. Rene
Genau das mache ich ja. Beim Anmelden wird ein zentrales Skript gestartet mit dem Namen des Arbeitsplatzes als Parameter (z.B. "Platz1") Dieses Skript wiederum startet dann das für diesen AP passende Skript, also z.B. Platz1.cmd. Das hat bis SWX2004 SP4.2 funktioniert, da hier der Parameter SWMIGRATE nicht nötig war, also konnte ich das Skript immer unveränder weiter verwenden. Seit SP5.0 geht das leider nicht mehr. Das Problem ist meine Faulheit. Ich habe keine Lust, nach jedem Update in allen Skripten die Parameter für die Vorgängerversion zu korrigieren, deshalb muss ich mir etwas anderes einfallen lassen. Vielleicht kann ich ja mit VB irgendwie die installierte Version und das aktuelle SP feststellen? Mal sehen...
------------------ Klaus Danke für deinen Besuch in meinem Gästebuch! www.al-ko.de privat... ForumsChat: Schau doch mal hier rein, wenn du Zeit hast... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
gismo Mitglied DriveWorks Support
   
 Beiträge: 1047 Registriert: 05.03.2001
|
erstellt am: 05. Apr. 2005 08:23 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Zitat: Original erstellt von KMassler:
Vielleicht kann ich ja mit VB irgendwie die installierte Version und das aktuelle SP feststellen? Mal sehen...
HI KLaus, da kann ich Dir helfen: Schau mal in der API Hilfe nach RevisionNumber. hier mal ein Beispiel, wie ich es mal gemacht habe (ist aber noch nicht aktualisiert): Code:
DateCode = swApp.RevisionNumber() If Left(DateCode, 2) < 8 Then SWX.Caption = "Vor SWX 2000 " If Left(DateCode, 2) = 8 Then SWX.Caption = "SolidWorks 2000 " If Left(DateCode, 2) = 9 Then SWX.Caption = "SolidWorks 2001 " If Left(DateCode, 2) = 10 Then SWX.Caption = "SolidWorks 2001plus " If Left(DateCode, 2) = 11 Then SWX.Caption = "SolidWorks 2003" If Left(DateCode, 2) > 11 Then SWX.Caption = "neuer als SolidWorks 2003" servicePack = "ServicePack " Serpack.Caption = servicePack + Mid(DateCode, 4, 4) If Left(DateCode, 2) < 10 Then Unload Me: SWX2.Caption = SWX.Caption SWX3.Caption = SWX.Caption SWX4.Caption = SWX.Caption SerPack2.Caption = Serpack.Caption SerPack3.Caption = Serpack.Caption SerPack4.Caption = Serpack.Caption
------------------ Viele Grüße aus dem Schwarzwald gismo Meine bescheidene Website Klamm? Was ist Klamm? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 05. Apr. 2005 08:29 <-- editieren / zitieren --> Unities abgeben:         
|
u.clemens Mitglied Konstrukteur
  
 Beiträge: 964 Registriert: 04.07.2000 engineer's law o cheap o fast o good check only two !
|
erstellt am: 05. Apr. 2005 10:25 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Zitat: Original erstellt von KMassler: Vielleicht aus der Registry?
probiers mal mit dem Schlüssel "Last Date Code" in HKEY_CURRENT_USER\Software\SolidWorks\SolidWorks 2004\SW Event Log oder HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\SolidWorks 2004\SW Event Log der Wert dazu enthält offensichtlich vor dem Schrägstrich die Codenummer für die Version wie bei gismo erklärt und hinter dem Schrägstrich wird wohl dann eine Codezahl für das SP sein ? Wie die darin verschlüsselt ist, weiß ich allerdings auch nicht. Und mit jedem Versionsupdate wirst Du de Pfad für den Schlüssel ändern müssen "Solidworks 2004" -> "SolidWorks 2005" [edit]Ergänzung: oder Du versuchst von der Solidworks.exe die Dateieigenschaft/Version/Produktversion auszuwerten[/edit] [Diese Nachricht wurde von u.clemens am 05. Apr. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rene Spandler Mitglied Dipl.-Ing. (FH) Masch.-bau
 
 Beiträge: 162 Registriert: 10.06.2002 Win2k SP4, SWX2004 SP5.0 P4 2.4GHz 1GB RAM ATI Fire GL2
|
erstellt am: 05. Apr. 2005 10:47 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Zitat: Original erstellt von KMassler: Beim Anmelden wird ein zentrales Skript gestartet mit dem Namen des Arbeitsplatzes als Parameter (z.B. "Platz1") Dieses Skript wiederum startet dann das für diesen AP passende Skript, also z.B. Platz1.cmd.
Ich meinte eigentlich, dass es nur *ein* zentrales Skript gibt. Dann wäre es keine Problem, die Version von Hand einzutragen. Wenn der Rechnername gebraucht wird, kannst Du den mit der Umgebungsvariable %COMPUTERNAME% beschreiben. Setzt natürlich voraus, dass die SWX -Installationen aller Rechner sehr ähnlich sind, also zumnindest in punkto Version und Installationsverzeichnis gleich sind. Zitat: Vielleicht kann ich ja mit VB irgendwie die installierte Version und das aktuelle SP feststellen? Mal sehen...
Wenn das auch noch gelingt, brauchst Du Dein Skript nie wieder zu ändern -- naja, bis am Installer wieder was verändert wird. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Rene Spandler Mitglied Dipl.-Ing. (FH) Masch.-bau
 
 Beiträge: 162 Registriert: 10.06.2002 Win2k SP4, SWX2004 SP5.0 P4 2.4GHz 1GB RAM ATI Fire GL2
|
erstellt am: 05. Apr. 2005 16:26 <-- editieren / zitieren --> Unities abgeben:          Nur für KMassler
Hallo, ich teste gerade SWX  2005. Bei mir genügt es für die Aktualisierung eines Clients <SWX  -Inst.-Pfad\swspmanager.exe> auf dem Client auszuführen. Wenn die Version-Inst.-abbild > Version-Clientinst. wird geupdatet und anschließend SWX gestartet, anonsten wird SWX nur gestartet. Klaus, löst das Dein Problem? Zur Ermittlung der Version, würde ich mir an Deiner Stelle nochmal die Datei <showversion.bat> im Verzeichnis des Installationsabbildes anschauen. Leider weiß ich nicht, wie ich den Virenscanner während des Updatevorganges deaktiviere. Es handelt sich um Norton Anti Virus. Weiß jemand wie der per Kommandozeile deaktiviert wird? Viele Grüße. Rene [Diese Nachricht wurde von Rene Spandler am 05. Apr. 2005 editiert.] [Diese Nachricht wurde von Rene Spandler am 22. Apr. 2005 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...

 Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 06. Apr. 2005 10:42 <-- editieren / zitieren --> Unities abgeben:         
Herzlichen Dank für die vielen Tipps! @u.clemens: Der Registry-Schlüssel ist nicht schlecht, ich habe allerdings noch Schwierigkeiten, den richtig auszuwerten. Da scheint die Versionsinfo in der Dateieigenschaft einfacher zu interpretieren zu sein. Ich muss mich nur mal in den VB-Foren umsschauen, wie ich die Eigenschaften da auslesen kann. @Rene: Zitat: Original erstellt von Rene Spandler: Ich meinte eigentlich, dass es nur *ein* zentrales Skript gibt. Dann wäre es keine Problem, die Version von Hand einzutragen. Wenn der Rechnername gebraucht wird, kannst Du den mit der Umgebungsvariable %COMPUTERNAME% beschreiben.
Ich brauche schon für jede WS ein eigenes Script, da ja die Kommandozeile die Seriennummer(n) und den Reg.-Code enthalten muss. Eine Alternativ wäre z.B. ein einheitliches VB-Programm, dass dieses Kommando mit "shell" absetzt und dazu die Seriennummern etc. aus einer Ini-Datei ausliest. Mhm... klingt gar nicht schlecht... nochmal @Rene:Die Datei showversion.bat gibt es anscheinend erst ab 2005- und die gibt mir dann ja nur die Version der neuen Installation an, nicht die aktuell installierte. Ausserdem erfolgt die Ausgabe nur in einem Fenster, nützt mich für ein Skript also nix. Das swspmanager.exe scheint bei mir SolidWorks direkt aus dem Administrator-Abbild heraus zu starten- lokal upgedatet wird dabei nichts. -------------------------------- So wie es aussieht, mache ich jetzt erst mal für alle clients ein passendes Skript, das sie alle auf die SWX2004 SP05 hochzieht, damit ich wieder überall den gleichen Stand habe. Das ist leider seit dem missglückten Update-Versuch mit dem falschen Skript nicht mehr der Fall. Und wenn dann alle gleich sind, werde ich mir wohl ein VB-Programm schreiben, das dann aus den Daten aus einer globalen INI-Datei auf jedem Rechner die passende Kommandozeile generiert und absetzt. Das sollte eigentlich gehen. ------------------ Klaus Danke für deinen Besuch in meinem Gästebuch! www.al-ko.de privat... ForumsChat: Schau doch mal hier rein, wenn du Zeit hast... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |