Author Topic: How to deploy .NET customizations?  (Read 3799 times)

0 Members and 1 Guest are viewing this topic.

sinc

  • Guest
How to deploy .NET customizations?
« on: February 19, 2007, 11:05:18 AM »
OK, I've written a new C# program that adds a custom command to Civil-3D, and it works when the DLL is netloaded from the local machine, but not when it's on the network.

I'd like to put the DLLs on a network drive, so that when I make changes, I can just copy the new DLL to the network, and everyone on the network immediately has the new version.  So how do I do this?  Or should I do something else?

Kerry

  • Mesozoic relic
  • Seagull
  • Posts: 11654
  • class keyThumper<T>:ILazy<T>
Re: How to deploy .NET customizations?
« Reply #1 on: February 19, 2007, 11:16:17 AM »
There are security issues to overcome. so your setting need to be changed. I don't recall the exact details but a search of the autodesk.autocad.discussion.dotnet group should give you some tips.

added:
For instance Search 'Nornam Yuan'  'deployment'
« Last Edit: February 19, 2007, 11:24:37 AM by Kerry Brown »
kdub, kdub_nz in other timelines.
Perfection is not optional.
Everything will work just as you expect it to, unless your expectations are incorrect.
Discipline: None at all.

Keith™

  • Villiage Idiot
  • Seagull
  • Posts: 16899
  • Superior Stupidity at its best
Re: How to deploy .NET customizations?
« Reply #2 on: February 19, 2007, 11:17:03 AM »
The only issue I can see with doing that is the DLL may be locked by the computer that opens it, thus limiting the ability of you to overwrite it.

A simple fix would be a script added to the startup of each workstation to copy the file locally if a new version is available.

I have actually written some of my programs to check for updates and download the new file if there is an update, but it can be a trick to do ...

If you want to do that, simply have the program when it starts, check a network location (make sure error checking is in place so it doesn't crash if the network is not available) for a file that holds the current version, then if the version in the file is different, copy the file locally as a different file name (temp folder), start the second copy of the program from the temp folder, end the first copy, the second copy checks to see if it is running from the temp folder, if it is, copy itself to the location where the first program was located overwriting the first program.

Yes .. convoluted .. but it works .. and there is lots of coding to make it work properly ... in the end it will be worth it though ..
Proud provider of opinion and arrogance since November 22, 2003 at 09:35:31 am
CadJockey Militia Field Marshal

Find me on https://parler.com @kblackie

sinc

  • Guest
Re: How to deploy .NET customizations?
« Reply #3 on: February 19, 2007, 11:22:12 AM »
OK, having each workstation copy the DLLs from the network may be the way to go.  What's the best way to add a startup script?  I've never done that on Windows machines.

sinc

  • Guest
Re: How to deploy .NET customizations?
« Reply #4 on: February 19, 2007, 12:37:45 PM »
Actually, I managed to get permissions changed, thanks to a post on Autodesk's website.

I had been unable to do it because, for some reason, I only see the .NET 1.1 Admin and Config on my machine, and not the .NET 2.0.  No idea why.  But there's also a command line utility, CASPOL, found in c:\windows\microsoft.net\framework\version\

So I just had to run the following line on each of our machines, using the 2.0 version of CASPOL:

caspol.exe -machine -quiet -addgroup 1 -url "file://MyServer/My DLL Deployment Directory/*" FullTrust

Glenn R

  • Guest
Re: How to deploy .NET customizations?
« Reply #5 on: February 19, 2007, 06:33:01 PM »
I have the logon script call a 'CAD' batch file and in it, I have a line using robocopy to update whole folder structures and a line to merge registry files for demand loading...nice and simple.