With any batch file or executable if you simply pass it a parameter you can essentially have two programs within it and run one or the other based on the command line parameters you pass it. Inside of a DOS batch file you would use something like this: ------------------------------------ IF %1 == A GOTO A . [all your first time run code here] [create reg key under RUN or RUNONCE that calls "mybatchfile.bat A"] END :A [All your second time run code here] ------------------------------------ The actual syntax there may be off, but I'm not going to spend the time looking up DOS syntax on the net when you can do that yourself very easily. Others have already given you nearly every step of what you would need to do for the other aspects of this Now, do you have any questions about Exchange we can help you with? Chris Nielsen Systems Administrator New Dawn Technologies