I figured it would be easier if I get rid of the exe that the script runs, and make the HTA run those commands. I set it up so that when I click a button on the main HTA, it opens one that uses the above code. By comparing other projects, I can get this other HTA to launch via: objShell.Run("mshta " & HTAFile),1,True However, there are some issues. I am testing in a VirtualBox because it is faster than having to rebuild the source every time. When I click the button, a second MSHTA.EXE will execute but the second file is not visible. The above snippet is how Geezery's GImageX HTA launches the diskpart.hta file, and it works fine there. I can open the file manually and it appears to be normal. However, since I am running in a VM the actions it attempts to take fail (because the path to imagex, for example) does not exist in the VM. So I can't figure out why it is hiding the new HTA. Here are some code peices. First, this is the subroutine used to launch the HTA from a button. This code can launch other EXEs or commands just fine. Sub RunRepair Set objShell = CreateObject("WScript.Shell") ObjShell.Run("mshta repair.hta"),1,True On Error Resume Next Set objShell = Nothing End Sub I am nearly finished. Soon I can move this into in-house beta and get the software put through the corporate branding and approval process.