AnsweredAssumed Answered

SolidWorks 2008 Active Directory Deployment Bible

Question asked by Glenn Sullivan on Jan 29, 2008
Latest reply on Sep 25, 2008 by Scott Moran
<H1>SolidWorks 2008 Active Directory Success Story</H1><br />I wanted to document my SolidWorks 2008 Active Directory Installation steps, since the available documentation is incomplete and sometimes misleading.<br /><br />I have successfully managed to deploy SW2008 SP2, DWGEditor, SolidWorks Explorer 2008 (w/ PDM) and eDrawings publisher 2008 via Group Policy with no need for any scripts, batch files, or any other wonky workarounds.<br /><br />First a little background: our network is a Windows Active Directory domain, with a mix of Windows 2000 and Windows 2003 servers.  My users are all regular users (not administrators or even power users) and hence, have no installation rights.  I am a Net Admin by trade, not a hex-head.<br /><br />In addition, we own seven network seats of SolidWorks Office Professional, and one Network PDM 2008 Contributor seat.<br /><br />I have been deploying SolidWorks via Group Policy since the first version that they offered it as an option, mostly with poor results.  There was always something I had to do to tweak the installation after I was done, which essentially negated the benefit of central deployment.  But with this round of deployments, everything worked just peachy, and is now set up for easy future roll outs!<br /><br />Here we go...<br /><hr><br /><b>Prerequisites:</b><br /><br /><OL><li>Windows 2000 or 2003 active directory domain.<br /><li>Server with approximately 6gb or free drive space minimum, 12gb free would be preferred, since you'll need it once the next Service Pack is released.<br /><li>Administrative access to the Active Directory Domain.<br /><li>Network Licensing for solidworks... this DOES NOT WORK if you are not using Network Licensing, as the Activation Process will not fire.<br /><li>These instructions will assume you are using Microsoft's Group Policy Management Console, but everything I mention is possible using the standard Group Policy tools.</OL><br /> <br /><hr><br /><b>Initial Setup:</b><br /><OL><li>Create a shared folder on the file server.  Make sure to grant the "NETWORK" user account read access to the folder.  In my case, this folder is named "AppDeploy."<br /><li>Create a Subfolder for SolidWorks, and then a SubFolder for the version you are deploying.  Because I was deploying 2008 SP2 (as a direct replacement for 2007 SP4, which was installed), that is the name of the folder I created.<br /><li>Create a folder to hold the Visual C++ Redistributable files<br /><li>Create a folder to hold the .Net 3.0 Framework files<br /><li>Create a folder to hold the Office Web Components files<br /><li>Create two active directory groups.  One will control who gets the things that SolidWorks needs to run (C++, .net 3.0) and SolidWorks Explorer, and the other will control who actually receives SolidWorks.  Add all computers who use either SolidWorks or SolidWorks explorer (for standalone PDM access) to the first group.  Add all computers who will actually need solidworks to the second group.</OL><br /><br /><hr><br /><b>Create Administrative Install Points:</b><br />I prefer to do all this at the command line, but YMMV.<br /><br /><OL><li>SolidWorks 2008 - Load the DVD into the drive, and slick start->Run, and type:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>msiexec /a {DVD Drive Letter}:\swwi\data\English_i386_SolidWorks.msi</p></div>and click OK.  Obviously, you will need to replace "{DVD Drive Letter}" with the letter of your DVD drive.<br />When prompted for the location to create the admin image, navigate to the shared folder you created during the prerequisites, all the way into the version number folder.  For me, that was<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>\\DCSvrFiles\AppDeploy\SolidWorks\2008 SP2</p></div>Finally, apply any service pack you'd like to the Admin Image.  In my case, I created my Admin Image from the SP0 DVD, and then applied SP2.<br /><br /><li>Visual C++ redistributable - SW2008 depends on the Visual C++ files being installed, so you must deploy those as well.  You must extract the installation files from the executable, with the following command:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>{Administrative image Location}\VCRedist\vcredist_x86.exe /C /T:{location to extract to}</p></div>Make sure you replace the paths above with the correct paths... for example, in my environment:<br /><br /><UL><li>App Share - \\DCSvrFiles\AppDeploy<br /><li>SW Folder - \\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\<br /><li>VC Folder - \\DCSvrFiles\AppDeploy\Microsoft C++ 2005 Redistributable (x86)</UL><br />So my command was:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>"\\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\VCRedist\vcredist_x86.exe" /C /T:"\\DCSvrFiles\AppDeploy\Microsoft C++ 2005 Redistributable (x86)"</p></div><li>.NET Framework 3.0 - SolidWorks 2008 requires that the .Net Framework 3.0 is installed as well, so you need to deploy that as well.  To extract the installation files from the executable, use the following command:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>{Administrative image Location}\DotNetFx\dotnetfx3.exe /X:{Location to Extract To}</p></div>So, once again, in my environment, I used the command:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>"\\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\DotNetFx\dotnetfx3.exe" /X:"\\dcsvrfiles\AppDeploy\Microsoft .NET Framework 3.0 (x86)"</p></div><li>SolidWorks Explorer - Download the latest version of SWExplorer from the web site, and run the executable.  Uncheck the "When done unzipping, run..." checkbox (we only want to extract the files, not install them) and put a path name into the "Unzip To Folder" box.  I used a path like this:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>\\dcsvrfiles\AppDeploy\Solidworks\2008 SP0\SolidWorks Explorer</p></div><li>Office Web Components - The installation files for the Office Web Components are also stored in the main solidworks administrative image, and must be extracted.  The generic command is:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>"{Administrative Image Location}\OfficeWeb11\owc11.exe" /extract:"{Application Share}\Office Web Components 11"</p></div>In my case, I used:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>"\\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\OfficeWeb11\owc11.exe" /extract:"\\DCSvrFiles\AppDeploy\Office Web Components 11"</p></div><li>DWGEditor - Download the latest version of DWGEditor from the web site, and run the executable.  Uncheck the "When done unzipping, run..." checkbox (we only want to extract the files, not install them) and put a path name into the "Unzip To Folder" box.  I used a path like this:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>\\dcsvrfiles\AppDeploy\Solidworks\2008 SP0\DWGEditor</p></div><li>eDrawings - Download the latest version of eDrawings from the Support site... unfortunately, I have found no command line switches that will extract the eDrawings install files without executing the installer.  So you have two choices to extract this file:<br /><UL><li>If you have WinZip or WinRAR installed, right click on the file and choose the "Extract to..." option, and choose a folder to extract to.<br /><li>If not, start the installation process.  When you get to the first prompt to click "Next," pause, and click start->Run, and type "%temp%" in the run box and click OK.  Start poking through the temporary files to find the eDrawings MSI and it's support files, and copy them all to a safe location.  Then cancel the installer, and it will delete the temporary files.</UL></OL><br /><br />So now, you should have a shared location on your file server, with a bunch of subfolders, all neatly organized and ready to deploy.  I try to keep the componants that might get updates with a service pack (like DWGEditor, eDrawings, and SWExplorer) under the structure of that Service Pack's folder, so that when I decide to throw away old service packs, I am also throwing away the extra stuff from the same version.<br /><br />In my case:<br /><br /><PRE>DCSvrFiles<br />  |<br />  \App Deploy<br />     |<br />     \Microsoft C++ 2005 Redistributable (x86)<br />     |<br />     \Microsoft .NET Framework 3.0 (x86)<br />     |<br />     \Office Web Components 11<br />     |<br />     \SolidWorks<br />         |<br />         \2008 SP2<br />            |<br />            \SolidWorks Explorer<br />            |<br />            \DWGEditor<br />            |<br />            \eDrawings<br /></PRE><br /><br /><hr><br /><b>Creating the Transform Files</b><br /><br />When you deploy software via Active Directory, it is installed with all of the default options unless you "Transform" the install process to fit your needs.  In SolidWorks case, there are many options that I needed to change in my environment, and you probably will too.<br /><br />The prerequisites (C++, .NET, and Office Web) can all be installed with their default options, so no transforms are necessary.<br /><br />eDrawings and DWGEditor, at least in my case, can also be deployed with no transform.  The only case I could think of where you might need one is if you use the eDrawings publisher for an application other than SolidWorks.<br /><br />For the actual SolidWorks 2008 install, there is a nice little utility called "SWCreateMST.exe" that will create the MST file for you.  Unfortunately, some of the required information is missing from the help files, so the use of this tool is tedious at best.<br /><br />Here is the command I used to generate my MST file (All on one command line... I broke this up to get the forum post to display correctly...):<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>"\\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\SWCreateMST.exe" <br />"\\DCSvrFiles\AppDeploy\Solidworks\2008 SP0\english_i386_SolidWorks.msi" <br />INSTALLDIR="C:\Program Files\SolidWorks" <br />SOLIDWORKSSERIALNUMBER="<My 16 digit serial number>" <br />ADDLOCAL=English,Manuals,InstantWebsite,FeatureWorks,PhotoWorksRender,<br />SolidWorksAnimator,SolidWorksDesignChecker,SolidWorksTaskScheduler,<br />SolidWorksToolbox,SolidWorksUtilities,SolidWorks,Intel_Modules_AgeiaX86,<br />RealViewGraphicsdisplay,HelpFiles,ExampleFiles <br />ENABLEPERFORMANCE=1 <br />OFFICEOPTION=2 <br />SERVERLIST="25734@DCSvrProxy" <br />SWSPUPGRADE=1 <br />UPGRADESWINSTALL=1 <br />SWMIGRATE="SolidWorks 2007 SP02.2"</p></div>Some Caveats and quirks:<br /><OL><li>Remember, this will ONLY work if you are using Network Licensing.  If you don't have a Network License Server, sorry, but there's no good way to do this anymore.<br /><li>There are two items in the "ADDLOCAL" list that are not documented: HelpFiles,ExampleFiles.  I'll let you guess what they cause to be installed...  I've seen a post here on the forum that said that HelpFiles_en also works, but I didn't try that.  I was going off the info in SPR 410324.<br /><li>I was rolling out an upgrade to SW2007 SP2.2, so the last two options (UPGRADESWINSTALL and SWMIGRATE) help that along.  If you are doing a clean install, leave those out.<br /><li>Change the "SERVERLIST" entry to match your SW License Server.</OL><br /><br />Running this command will create a file called "English_i386_SolidWorks.mst" in your administrative image location.  I usually rename that to something that makes a bit more sense, like "{Company Name} custom Transform.mst"<br /><br />Last but not least, and most difficult to figure out on my own, was how to create the Transform for SolidWorks Explorer.  I wanted to enable the PDM Options, install the PDM Vault Admin tool, and also set up standalone clients to get licenses from my SNL server.  To do this, I needed a transform.<br /><br />To generate a transform for just about any MSI file, you can use a tool from Microsoft called "Orca."  It is available <a target=_blank class=ftalternatingbarlinklarge href="">here.</a> <br /><br />It is used to specify the properties that you can set during installation.<br /><br />Once Orca is installed, fire it up.  Click File->Open, and browse to the SolidWorks Explorer MSI file... in my case, that is at:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>\\dcsvrfiles\AppDeploy\Solidworks\2008 SP0\SolidWorks Explorer\Solidworks Explorer.msi</p></div>You will see a whole list of tables in the left pane, and rows in the right pane.<br /><br />Click "New Transform" from the Transform menu.<br /><br />In the left pane, select the table named "Property."  Scroll through the right pane until you see the property called "EXPLORERORPDM" and change it's "Value" column from 0 to 1.<br /><br />Now we need to add some rows.  Click "Add Row" from the "Table" menu.  In the "Property" field, give it the name "ADDLOCAL" (no quotes, but all capital letters).  In the Value of this new row, I used the following:<br /><div class='jive-quote'><p style='min-height: 8pt; padding: 0px;'> </p><p>Standalone,Client,DocMgr,LicenseEXE,VaultAdmin</p></div>You can remove from that list if you'd like.<br /><br />Last but not least, we need to add the serial number.  Unfortunately, due to a bug in the Explorer install program (that, according to SPR-401801, is fixed in SP2, but, according to my testing, is not) you need to feed the new 24 digit install key into the transform file.  Your regular 16 digit key will not work.<br /><br />The only place I know that you can get your 24 digit key yourself is from the installer... I did it this way on a completely uninvolved PC (like a coworker or admin workstation or something):<br /><br /><UL><li>insert the 2008 DVD, and let the installer fire up.<br /><li>when prompted, type your Network 16 digit serial number<br /><li>let the installer communicate with the SW servers.  It will come back and show you your 24 character number, which is basically your 16 digit number, with 8 character tacked onto the end.<br /><li>Cancel the installer at that point.</UL><br /><br />Once you have the 24 digit key, add another row in Orca (Tables->Add Row) and use "ACTIVESERIALNUMBER" as the "property" and your 24 character serial number (with no spaces) as the value.<br /><br />Now that we have set all the options we need, click "Generate Transform" from the "Transform" menu, and save the MST file into the same directory as the Explorer Installation files.<br /><br /><br />FINALLY, we have all the pieces that we need to remotely install the Prerequisites, DWGEditor, and SWExplorer for both "SolidWorks Users" and  "PDM Only" people, and to install eDrawings and SolidWorks 2008 for just my SolidWorks users.  We just have to create the Group Policy Objects to cause the actual deployment!<br /><br /><hr><br /><b>Group Policy Object Creation</b><br /><br />In Group Policy Management Console, right click on your Domain Name, and choose "Create and Link a GPO here."  Call it something like "Install SolidWorks - Support Applications."<br /><br />Before you do ANYTHING else, select your new GPO, and click on the "Delegation" tab.  Click on the "Advanced" button.  Click on "Authenticated Users" group and click "Remove."  Then, click "Add" and type in the name of the two groups that created at the top of this document.  Once those groups are in the list, select each one of them, and click the "Apply Group Policy" checkbox down below.  This will cause the software to only be installed on computers that are in that group.<br /><br />Repeat the "Create and Link" process, only this time, create one called "Install SolidWorks - Main Application" and when adding groups in the Advanced Delegation screen, only add the group that contains your actual SolidWorks Computers in it, and leave out the group that contains the "PDM" clients.<br /><br />Now, edit the "Install SolidWorks - Support Applications" GPO.  Navigate through the tree in the left pane until you get to:<br />Computer Configuration -> Software Settings ->Software Installation.<br /><br /><UL><li>In the right pane, right click and choose New->Package.  Browse through the Network Share to the folder that holds the C++ Prerequisites, and select the "vcredist.msi" file.  When prompted choose "Assigned."<br /><li>Right click again, choose "New->Package" and browse to the .NET folder, and select the "vs_setup.msi" file.  Choose "Assigned" when prompted.<br /><li>Right click again, choose New->Package, and browse to the Office Web Components folder, and choose the "OWC11.msi" file.  Choose "Assigned" when prompted.<br /><li>Right click again, choose New->Package, and browse to the DWGEditor folder, and choose the "DWGeditor.msi" file.  Choose "Assigned" when prompted.<br /><li>Right click again, choose New->Package, and browse to the SolidWorks Explorer folder, and choose the "SolidWorks Explorer.msi" file.  Choose "Advances" when prompted.  On the screen that appears next, choose the "Modifications" tab, and click the "Add" button.  Browse and select the Transform file that you created with Orca.  Then click "OK"</UL><br />That is the first GPO, for all users of either SWExplorer (w/ PDM) or SolidWorks.  Close the Group Policy Editor.<br /><br />Now, the GPO for SolidWorks and eDrawings... Back in the Group Policy Management console, right click on the "Install SolidWorks - Main Application" GPO, and choose Edit.  Browse again to Computer Configuration -> Software Settings ->Software Installation.<br /><UL><li>Right click in the right pane and choose "New->Package."  Browse to and select the "English_i386_SolidWorks.Msi" file in the SolidWorks Admin Image directory.  When prompted, choose "Advanced."  On the advanced screen, click on the Midifications tab, and click "Add."  Browse to find the MST file that you create with the SWCreateMST.exe program.  Once it is in the Modifications list, click OK.<br /><li>Right click again, choose New->Package, and browse to the eDrawings folder, and choose the "eDrawings.msi" file.  Choose "Assigned" when prompted.</UL><br /><br />Close the GPO editor.  YOU ARE DONE!<br /><br />If you wait 15 minutes, and then reboot the computers that need to run the installation, you will see all of the prerequisites and applications installing at the next reboot!<br /><br />I hope that this helps someone else out there...<br /><br />I need to give a shout out to my VAR, SolidVision, and in particular, Tech Jenny Giolas.  Her patience and willingness to listen, process, and help me find the answers to all the questions that this raised has finally allowed me to have faith in this method of deploying SolidWorks.  I'm sure she got sick of all my questions about this obscure feature of SolidWorks, but she always kept pushing her internal and external resources until each snigly little problem was worked out.  Thanks a bunch!<br /><br />Because I'm not a hex-head, I don't find myself in these forums very often, but I'm going to put a watch on this thread in case anyone has any questions, or in case these instructions are incomplete or unclear.  Feel free to post your additions/sucess stories/questions!<br /><br />Glenn<br />