PS2EXE-GUI: "Convert" PowerShell Scripts to EXE Files with GUI

Overworking of the great script of Ingo Karstein with GUI support. The GUI output and input is activated with one switch, real windows executables are generated. With Powershell 5.x support and graphical front end. Now here: https://github.com/MScholtes/TechNet-Gallery

PS2EXE-GUI.zip
 
 
 
 
 
4.7 Star
(38)
37,701 times
Add to favorites
10/26/2020
E-mail Twitter del.icio.us Digg Facebook
  • Is it possible to "pack" any other loaded files into the executable?
    2 Posts | Last post September 18, 2019
    • Hi,
      
      I use a PowerShell script to download data from an Analysis Services tabular model. I load a custom .dll library an other extra files into the script.
      
      Is it possible to "pack" all this resources into the executable file in order to have standalone application?
      
      
      Thanks and best regards!! 
    • Hello iRoger,
      
      you want to create some kind of installer or self-extracting archive for your script, this is too much work for PS2EXE to integrate this function. I recommend an archiving tool like 7Zip or a program to create installers (Windows provides one with IExpress) for your purposes.
      
      Greetings
      
      Markus
      
  • Is it possible to protect again a decompile?
    3 Posts | Last post September 13, 2019
    • Hi there, is there a way to protect the .exe against a decompile backup to ps1 so I can protect the sourcecode of the software?
    • Hello Stefan071,
      
      this makes not really sense since PS2EXE encodes and not encrypts the source script.
      But you may open ps2exe.ps1 with a (good) text editor and replace the expression
        s.StartsWith("-extract", StringComparison.InvariantCultureIgnoreCase)
      with
        false
      
      Any script you compile afterwards is not decodable with a command line parameter, but still is decodable with a hex editor (and a lot of knowledge).
      
      Greetings 
      
      Markus
    • Thank you very much Markus. When you have a bit of your IP in the PS code it is really handy to know you are able to stop decompile. I know it's not 100% safe but it's a lot better than having it be super easy to get to the source and whatever.
      So thank you!
  • unable to decompile EXE to ps1
    2 Posts | Last post September 08, 2019
    • Hi Markus,
      
      One of my script was converted to EXE from PS1 and its not supporting for vSphere 6.7 environment. So i need to modify the script and tried to extract using -extract:”Filename”.
      Ex- .\ps2exe.ps1  VCMRv3.exe -extract:C:\Users\ankoj\Downloads\VCMR.ps1
      
      Could you please help on this ?
      
      Thanks,
      Ankoji
      ankojin@outlook.com
    • Hello Ankoji,
      
      it is easier as you think, try
      VCMRv3.exe -extract:C:\Users\ankoj\Downloads\VCMR.ps1
      without the .\ps2exe.ps1 in front.
      
      Greetings
      
      Markus
      
  • "Start-Process [process] -Wait" doesn't work on Windows 7
    2 Posts | Last post September 06, 2019
    • I used this tool to create an executable from a PowerShell script on my laptop (running Windows 10 64-bit, v1903). It worked great, I selected the options for run as admin as well as "noConsole" and tested on a couple Windows 10 machines.
      
      However, when I tested on a Windows 7 laptop I noticed that the "-Wait" flag wasn't respected (the commands executed fine, but didn't wait which caused issues with my verification logic).
      
      Is this a known issue? Is there a workaround?
    • Hello Jeffrey McClain,
      
      I guess this is a misunderstanding. When you compile a script with the option -NoConsole, a graphical program is generated. The shell does not wait for a graphical program to exit.
      
      You have to use start /wait (if started from cmd.exe) or Start-Process -Wait (from PowerShell) to instruct the shell to wait.
      
      Greetings
      
      Markus
  • Retreive full path of current script
    2 Posts | Last post September 06, 2019
    • Hi,
      
      I used to start my powershell scripts with this snippet to get the full path of the directory containing the script without relying on a hard coded path:
      
      $scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
      
      But after converting the script with ps2exe, $MyInvocation.MyCommand.Definition contains the full script content instead of its path.
      
      Is there another method to get the script's full path, or is it possible to fix ps2exe in order to keep this path into $MyInvocation.MyCommand.Definition?
      
      Many thanks in advance.
    • Hello Pini-ms,
      
      please see the Remarks section on this page for an explanation and a workaround.
      
      Greetings
      
      Markus
  • Standalone executable
    2 Posts | Last post August 24, 2019
    • Hi,
      
      1. How about making the executable as standalone? so all .NET dll + Powershell .dll files are included inside executable. Main motivation is to be Independence from the build-in .NET/PS.
      
      2. How about extend above concept by allowing to use PS Core 7+, it uses NET Core 3.x
    • Hello ALIENQuake,
      
      as far as I know you can't pack a .Net installation into a standalone since .Net is highly integrated to the operating system. If I'm wrong you might explain how to do (or a have a link where it is explained).
      
      Because of the poor integration to Windows I have not examined PowerShell Core up to now, this may Change with PowerShell 7.
      
      Greetings
      
      Markus
  • Can I get the exe file to run Powershell Console instead of cmd?
    2 Posts | Last post August 21, 2019
    • I have some lines in my script to do the Write-Progress while copying files, the progress bar still appears when I run the script using Powershell, but after I converted it to exe, the bar was not showed up in cmd console.
    • Hello prnt205,
      
      Write-Progress is not implemented if a "shell" program is compiled (no -NoConsole parameter). Because it is very complicated to implement, I have no plans to implement this. So Write-Progress is ignored.
      
      Sorry for that, greetings
      
      Markus
  • Citrix calling process(citrix xenapp print)
    2 Posts | Last post August 17, 2019
    • Create a program that converts to exe. The user user accesses the application normally, but after publishing the application through Citrix xenapp 6.5, the program can be accessed normally. However, the printer mapped to the server by the xenapp client cannot print (client printer normal mapping) To the server side)
      
      After the process of logging in with the administrator account, it is found that the application after PowerShell Scripts cannot be called to open the following two processes, which causes the mapped printer to be unusable (the following two processes cannot be called after the ica protocol is logged in)
      
      C: Windows\splwow64.exe
      
      C: Windows\System32 \Server Manager Launcher.exe
      
      PowerShell Scripts scripts are as follows
      
      $secpasswd = ConvertTo-SecureString 'password' -AsPlainText -Force
      $mycreds = New-Object System.Management.Automation.PSCredential ("administrator", $secpasswd)
      
      Start-Process powershell -Credential $mycreds -ArgumentList " -noprofile -command &{Start-Process 'C:\windows\notepad.exe' -Verb Runas}"
      Start-Process powershell -Credential $mycreds -ArgumentList " -noprofile -command &{Start-Process 'C:\Windows\splwow64.exe' -Verb Runas}"
      Start-Process powershell -Credential $mycreds -ArgumentList " -noprofile -command &{Start-Process 'C:\Windows\System32\ServerManagerLauncher.exe' -Verb Runas}"
    • Hello xenapp,
      
      your script looks very strange to me. Why do you start a new instance of powershellnyounto start Notepad? Why do you start splwow64.exe manually, it gets started automatic by the Spooler Service on demand?
      
      Did you try to run your script "non-compiled"?
      
      Greetings
      
      Markus
  • Cannot bind argument to parameter 'Path' because it is an empty string
    2 Posts | Last post August 17, 2019
    • Hello,
      I'm getting the following error when I run the executable.
      
      Cannot bind argument to parameter 'Path' because it is an empty string
      
      Any suggestions?  The script appears to compile the file.
      
      Thanks for your help!
      Jason
    • Hello jc8856,
      
      what parameters does your script expect? What is the command line you are calling the compiled script?
      
      Greetings
      
      Markus
  • citrix xenapp print
    2 Posts | Last post August 16, 2019
    • Through PS2EXE-GUI, the EXE application is made successfully and the access application is opened normally. But after publishing the application through Citrix xenapp 6.5, the program can be accessed normally. However, the printer mapped to the server by xenapp client can not print. Whether it is the user's right or not is a problem.
    • Hello xenapp,
      
      you give not enough information to me to help you.
      
      Are you sure there is an issue with PS2EXE? Did you try to run your script as a published application? Does the compiled script work when called in a published desktop? Does an error message appear? Does the script have other functions beside printing and are they working properly?
      
      Greetings
      
      Markus
41 - 50 of 184 Items