MarkBe

SplashTextOn not staying on when run as shutdown script

3 posts in this topic

#1 ·  Posted

I run a compiled .exe as a group policy shutdown script to update various software. The function below is called to run both .exe and .msi installers (hence the two sections). When I run this in a user session the SplashTextOn window stays visible in the background throughout the entire install but when this is executed as a shutdown script the SplashTextOn window disappears before the installer has finished (during the RunWait)

Func _InstallSW()
    SplashTextOn("Installing", $InstallingUpdateMessage, 500, 400, -1, -1, $DLG_NOTONTOP)
    FileCopy ($SourcePath & $SWInstaller, $WorkingDirectory & $SWInstaller, $FC_OVERWRITE + $FC_CREATEPATH)
    If StringLower(StringRight($SWInstaller, 4))=".exe" Then
        RunWait ('"' & $WorkingDirectory & $SWInstaller & '"' & $InstallerSwitches)
    Else
        RunWait ('msiexec /i "' & $WorkingDirectory & $SWInstaller & '"' & $InstallerSwitches)
    EndIf
    SplashOff()
EndFunc ;==>InstallSW

Is there a better function to use or something I can add (e.g. While)? I need it to remain behind the installer's progress windows so it shows when the installer is running a background process (to prevent the user from forcing the power off thinking it has hung)

Share this post


Link to post
Share on other sites



#2 ·  Posted

Since you mention it is a shutdown script, are you running it in the SYSTEM context, or still as the logged in user? Also, are you seeing it at all (brief flash then disappear) or no splash text at all?


√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites

#3 ·  Posted

On 14/04/2017 at 0:07 AM, JLogan3o13 said:

Since you mention it is a shutdown script, are you running it in the SYSTEM context, or still as the logged in user? Also, are you seeing it at all (brief flash then disappear) or no splash text at all?

Yes, SYSTEM context. The splash text shows for some time. During file copy (third line of script), and during the first part of the installer (during the RunWait) but then goes away about 2 minutes in.

p.s. shutdown scripts are set to 'run visible'

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Similar Content

    • User0101
      By User0101
      Situation: I have a process where files are downloaded to a specific location on a device and then get applied by a 3rd party program. I have a SplashTextOn popup notifying the user with a simple file count letting them see when files are downloaded and then later applying. The user see's the numbers count up and then down. Currently this SplashTextOn popup works with one small hiccup I'd like to try to solve. The script updates once per second to display the file count, as a result there is a slight flicker with the SplashTextOn popup. I've followed many examples and have tried everything that I know how from the AutoIt Help Document as well as exhaustive searching. It's possible the solution is quite simple but it's just out of my mental reach at the moment.
      Goal: Display the popup window with the file count that updates once per second, or when a change is detected with the number of files in the specific directory, and eliminate any popup flicker if possible.
      Here is what I have with some small changes to protect sensitive info. I would appreciate any tips you can provide and thank you for your help.
      AutoItSetOption("WinWaitDelay", 500) AutoItSetOption("WinTitleMatchMode",1) AutoItSetOption("WinDetectHiddenText",1) AutoItSetOption("TrayIconDebug", 1) AutoItSetOption("TrayIconHide", 0) HotKeySet("{ESC}", "_Terminate") #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <IE.au3> #include <Array.au3> #include <File.au3> #include <MsgBoxConstants.au3> ; Build The Active Count Function & Splash Message Func SyncFileCount() $path = "C:\XXXXX\Messages\" $count = DirGetSize($path, 1) $msg = "" SplashTextOn("Sync File Count", $msg, 380, 46, -1, -1, 1, "", 14) $msg = $msg & $count[1] ControlSetText("Sync File Count", "", "Static1", "Synchronization Files Being Processed " & $msg) Sleep(1000) EndFunc ; Call The File Count Function While 1 $path = "C:\XXXXX\Messages\" $count = DirGetSize($path, 1) Call("SyncFileCount") WEnd Exit