| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Hoffmann Expertenseminar "Digitale Prozess- und Fertigungslösungen" |
Autor
|
Thema: swVBAddin / VisualStudio2015 / Zuatzanwendung auf anderem Rechner registrieren (2095 mal gelesen)
|
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 05. Jul. 2018 21:27 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, Auch ich möchte das Thema mit dem VBAddin aufgreifen. Die Addinvorlage ist aus meiner Sicht eine Super Vorlage die z.B. über die Eventhandler gegenüber einem einfachen Makro einen riesen Vorteil bietet. Mir geht es hier aber nicht um das debuggen bzw. Programmieren des ganzen, sondern explizit um die Frage: Wie bekomme ich die dll / Zusatzanwendung jetzt eigentlich vernünftig auf anderen Rechnern zum Laufen? Hier bekomme ich gerade leider keinen Fuß auf den Boden. Ich bekomme das Addin auf dem Entwicklungsrechner ganz gut zum laufen. Die Dll die er ausspuckt versuche ich dann auf einem anderen Rechner zu verwenden. Ich habe versucht über das Setup-Tool das für Visual Studio heruntergeladen werden kann das ganze zu installieren. Hat aber nichts gebracht. (Wobei ich mir hier nicht sicher bin, ob das Setup überhaupt versucht die Dll zu registrieren. Aus Mangel an (Fehler)Meldungen bn ich dann aber dazu übergegangen das ganze manuell zu versuchen. Den größten "Erfolg" hatte ich mit dem kopieren der dll in das Installationsverzeichnis.
Nach einigen Fehlermeldungen wie -falscher Pfad -error RA0000: keine Adminrechte -error RA0000 : Weder die Eingabeassembly "..." noch eine der Abhängigkeiten der Assembly konnten gefunden werden. haben die Befehle: C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\addintest.dll" /tlb /codebase bzw. regsvr32 /s "c:\Program Files\Solidworks Corp\Solidworks\addintest.dll" C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm /tlb /codebase "c:\Program Files\Solidworks Corp\Solidworks\addintest.dll" endlich zum scheinbaren Erfolg geführt: Die Typen wurden registriert. Die Assembly wurde nach "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\addintest.tlb" exportiert, und die Typbibliothek wurde registriert. Aber, und sonst wäre ich ja zufrieden...Solid Works geöffnet, die Zusatzanwendung taucht überhaupt nicht auf. In der Registry scheint auch nichts zu liegen. Jetzt ist bei mir leider irgendwie so ein Gefühl: Daher bitte ich höflichst um eine Idee Gruß Andy
[Diese Nachricht wurde von Baumjäger am 05. Jul. 2018 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2019 Solidworks 2021 Sp5.1 Enterprise PDM 2021 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Dell Ultrasharp U2415 Dell M4800
|
erstellt am: 06. Jul. 2018 06:17 <-- editieren / zitieren --> Unities abgeben: Nur für Baumjäger
Hi Andy, hast du das regsvr und das regasm mal mit Admin-Rechten ausgeführt?! Was passiert wenn du in Solidworks auf Datei öffnen, auf Addins / .dll umstellst und dein Addin dann lädst?! Gruss, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 06. Jul. 2018 06:17 <-- editieren / zitieren --> Unities abgeben: Nur für Baumjäger
|
RWolff Mitglied Maschinenbautechniker
Beiträge: 8 Registriert: 14.06.2016 SolidWorks 2018
|
erstellt am: 06. Jul. 2018 07:17 <-- editieren / zitieren --> Unities abgeben: Nur für Baumjäger
|
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 06. Jul. 2018 07:27 <-- editieren / zitieren --> Unities abgeben:
Hallo Carsten, Ich habe beide Befehl (regasm, regsvr32) mit Adminrechten ausgeführt, da es ohne auch zu Fehlermeldungen kam. In Sold Works habe ich versucht die DLL per drag&Drop zu laden. Das entspricht denke ich dem Datei öffnen. Hier habe ich tatsächlich eine Fehlermeldung bekommen: Die Zusatzanwendungs-Komponente konnte nicht initialisiert werde. OK, jetzt nochmal als Admin mit Datei öffnen...gleicher Fehler Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1358 Registriert: 24.07.2002 AutoCAD ACA 2019 Solidworks 2021 Sp5.1 Enterprise PDM 2021 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Dell Ultrasharp U2415 Dell M4800
|
erstellt am: 06. Jul. 2018 09:03 <-- editieren / zitieren --> Unities abgeben: Nur für Baumjäger
Hi Andy, Den Effekt kenne ich eigentlich nur wenn wirklich einige Abhängigkeiten nicht aufgelöst werden können. Sind denn alle Sachen worauf du Verweise gesetzt hast auch auf dem Zielclient vorhanden wie bei deinem Rechner?! Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 06. Jul. 2018 09:33 <-- editieren / zitieren --> Unities abgeben:
Die Verweise die im Addin sind, sind ja die SolidWorksTools.dll Interop.sldworks.dll Interop.swconst.dll Interop.swpublished.dll Auf beiden Rechnern ist das gleiche Betriebssystem und die gleiche SolidWorks Version. Die Verweise "sollten" daher da sein. Das einzige bei dem ich mir nicht sicher bin, ob der gleiche Hotfix Stand von SolidWorks auf den Rechnern ist, das prüfe ich beides vorsichtshalber heute abend mal. Aber auch hier meine ich den gleichen Stand zu haben. Hier zusätzlich mal eine Frage zur Vorgehensweise: Ich habe die Dll ja ins (schien mir für die ersten Tests am einfachsten) Installationsverzeichnis geworfen. Wenn ich mir andere Drittsoftware anschaue, haben die alle oben genannten Verweise ja in Ihrem eigenen Installationsordner. Müsste das beim swVBaddin nicht genauso funktionieren? Das wäre ja auch vorteilhaft, z.B. nach einer Neuinstallation von Solid Works. Wie geht ihr hier sinnvollerweise damit um? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 813 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 06. Jul. 2018 14:26 <-- editieren / zitieren --> Unities abgeben: Nur für Baumjäger
Hallo Andy Schau mal in der Registry unter dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\SolidWorks\AddIns ob die Guid deines Addins vorhanden ist. Und wenn ja ob es sich wirklich um dein Addin handelt. Die Guid deines Addins definierst du in der SwAddin.vb-Datei. Diese sollte eindeutig sein und nicht durch ein anderes Addin schon verwendet werden. Vielleicht liegt es auch daran, dass du die 32-bit Regsam verwendest. Ich verwende diese "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 06. Jul. 2018 17:41 <-- editieren / zitieren --> Unities abgeben:
ja ich habe tatsächlich nicht die 64bit Framework Version angegeben...einmal richtig gemacht und jetzt geht es. Vielen Dank euch allen. Der korrekte Befehl lautet also: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\addintest.dll" /tlb /codebase
-Die Option Codebase kann möglicherweise auch weggelassen werden, das habe ich nicht versucht. Die Option erfordert jedoch einen "starken Namen - Bei der Option /tlb bin ich mir ebenfalls nicht sicher . Weitere Infos zum Befehl gibt es z.B. hier: https://docs.microsoft.com/de-de/dotnet/framework/tools/regasm-exe-assembly-registration-tool Für alle anderen die ähnlich blind sind wie ich: - Das Framework muss logischerweise zum Projekt passen. - Die dll kann in der einfachen Variante einfach ins Installationsverzeichnis gelegt werden. (Es sollte aber auch mit den kopierten Verweisen in einem eigenen Verzeichnis funktionieren. Wenn die Software verteilt werden soll, muss das natürlich so laufen, denke ich. Ich werde mal noch etwas mit dem Setup testen und hier vervollständigen) Gruß Andy Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Maschinenbauingenieur (m/w/d) Konstruktion | Du möchtest deine Karriereentwicklung nicht dem Zufall überlassen? Dann gehe mit uns gezielt den nächsten Schritt. Dazu bringen wir bei FERCHAU als eine der führenden europäischen Plattformen für Technologie-Dienstleistungen die smartesten und innovativsten Köpfe mit Unternehmen verschiedenster Branchen zusammen. Wir suchen dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte.... | Anzeige ansehen | Maschinenbau |
|
Baumjäger Mitglied CAD/PDM Administrator
Beiträge: 339 Registriert: 21.06.2006 SW2017 - S5.0 AutoCAD Mechanical 2018 Win10 Intel Xeon E3-1240 V2 3,4GHz 16GB RAM NVIDIA Quadro 4000
|
erstellt am: 06. Jul. 2018 17:52 <-- editieren / zitieren --> Unities abgeben:
kleine Ergänzung noch: Zum testen manchmal wichtig, das Addin auch wieder loszuwerden: Geht dann ganz einfach mit der Option /unregister (oder /u) in meinem Beispiel: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /unregister "C:\Program Files\SOLIDWORKS Corp\SOLIDWORKS\addintest.dll" Die Befehle könne dann zum Beispiel einfach in ein bat Datei zum Schluss noch Pause dazu und schon kann man komfortabel "umschalten". Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |