Thursday, June 19, 2008

If you call your .NET application from a batch file...

If you deploy your .NET applications with a batch file, be aware that the way you call your .NET application might affect how it behaves.

The facts are as follows (for our application anyways):

when the application is called using the following line in the batch file:

start C:\Progra~1\ApplicationFolder\Application.exe

the application fails

if you call the application using the windows explorer in the batch file:

explorer C:\Program Files\ApplicationFolder\Application.exe

it works fine but it shows a security warnings that you're downloading files and that publisher is unknown...Not good for the end user, not good.

If you call the application from a path that doesn't have white spaces using the start command, it works fine:

start C:\ApplicationFolder\Application.exe

(This option would be good if we didn't use Program Files for the deployment, but most people do)

and, finally, if you use the start command but take out the DOS path it works!

start " " "c:\Program Files\ApplicationFolder\Application.exe"


I checked the assemblies binding errors, the code access security for every assembly in the application, debugged the application, et-cetera without results.

Changing the old DOS path did the trick!!!

Why? I still have to get a hold on this script guy to ask him why :-p

Happy coding!

Labels: ,

0 Comments:

Post a Comment

<< Home