Just disabling that security feature is a really heavy handed approach. That's in there to make it harder for your computer to be hacked; not to keep you from running programs you want to run.
Instead of completely opening your system up to running code that isn't signed or validated, you may be able to simply tell your system to trust the signer. You have to click a lot more to do this, but I think it's the better solution.
- open Explorer to the program in question
- right-click on it and select Properties
- look for a tab named "Digital Signatures" and click on it. *** If that's not there, the code isn't signed and this isn't going to help you.
- hopefully there'll be exactly one signature in the list. Click on that and then click on Details.
- click on the View Certificate button
- click on Install Certificate
- click on Next
- * do NOT let it "Automatically select the certificate store". I've never had that work. Instead click on the "Place all certificates in the following store" radio button and then click Browse
- * take note of the certificate name! You'll need this later!
- select Trusted Root Certification Authorities. Click OK
- click Next and then Finish
Test you program - it should now run.
BUT if you stop here, you've opened yourself up to another security threat. Albeit, a lesser one than just disabling code signature checking altogether.
To really do things right you need to tell Windows to only trust this new certificate for signing code- not for validating websites or anything else.
- start up the Certificate Manager (Start: Run: mmc, then File: Add/Remove Snapin, click Certificates, click Add, click Finish, click OK)
- right-click on Certificates, click on Find Certificates, then type in part of the name of the certificate (this is what you noted above). Or you could browse the Trusted Root Certification Authorities store, but it's usually a lot a look through)
- now that you've found your certificate, right-click on it and click Properties
- in the General tab, select "Enable only the following purposes"
- uncheck everything except "Code Signing"
Now you're done!
This process sure could be simplified!
To me it seems that when you right-click on an executable in Explorer, Windows should check to see if it's trusted. And if it isn't, there should be an option there in the Context Menu to let you add trust - maybe even a wizard to handle the deeper choices
like to add trust for just this user or for the whole computer and whatever else there is.