For the last couple of years .NET has crept in as my programming language of choice. It’s wonderfully simple, makes light of usually tedious programming tasks and has a lot of support on offer. From the start, the .NET framework had a security feature whereby un-trusted code would not be permitted to be executed from network locations. This is a wonderfully secure idea and is probably a very very good thing to have – unless of course you’re writing shared applications that need to be run from a network location on a large network.
Often we need to run a home-grown application from a Novell login script for all users. Now, my almost exclusive use of .NET doesnt go down well with this idea. Sure, all my code is signed by my personal strong encryption key-pair, but unfortunately apart from my development machine, no other machine on the network has my key installed, nor would anyone trust it. Which leaves me with only one real alternative: writing a distributor application in an older, less restrictive language and letting that execute the .NET application from a local drive.
So my solution is simple enough – whip up a quick and dirty application in VB6 or something similar which simply copies the .NET application from a network location to the local drive and then executes it from there.