Page 1 of 1

How can Invoke-WebRequest change ProgressBar?

Posted: Mon Feb 18, 2019 7:10 am
by KlausGB

i am a beginner with PowerShell and a total beginner with PowerShell Studio ;-)

Product, version and build:
Powershell Studio 2019 64 bit
Operating system:
Win 10 64 Bit 1803

i am writing a powershell-program to download the newest version of my programm. i have to download one big EXE (=installation program)
in my powershell-program i check internet connection, if my program is available, if it is neccessary to download, and so on.
Everything works so far, but i am not able to fill the progress bar while downloading .
i have a form with a download-button. if this is clicked, i use Invoke-WebRequest to download the file i want. the file is downloading, but the progressbar shows always "0%".
i try $ProgressPreference = "SilentlyContinue" or not, no difference.
if i comment out $ProgressPreference, the compiled version shows nothing, but if i run it in PowerShell Studio, there is an other progressbar shown (this is default i mentioned).

What should i do?
i have no more ideas to try.

Best Regards

Re: How can Invoke-WebRequest change ProgressBar?

Posted: Wed Feb 20, 2019 9:44 am
by davidc
The Invoke-WebRequest's progress bar option is host dependent. Therefore, depending on which packager engine you selected, you may not see the progress bar at all. Do you recall the engine you selected?

If you added a progress bar control to your GUI, you have to manually update the progress bar. Unfortunately, I don't believe there is no way of redirecting Write-Progress without having a custom host.

You could potentially use a "Button - Start Job" to invoke the web request. This control set, will disable the button and animate it, until the job is completed.
Button - Start Job Control Set.png
Button - Start Job Control Set.png (26.48 KiB) Viewed 15162 times
But is will not display the step by step progress unless the host supports it.

If you have GUI related questions, I recommend posting on the PowerShell GUIs forum:

Re: How can Invoke-WebRequest change ProgressBar?

Posted: Mon Feb 25, 2019 12:45 am
by KlausGB
Thank you
i solved it using BITS