Jump to content

SplashTextOn not staying on when run as shutdown script

Recommended Posts

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)
        RunWait ('msiexec /i "' & $WorkingDirectory & $SWInstaller & '"' & $InstallerSwitches)
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)

Link to post
Share on other sites
  • Moderators

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?

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to post
Share on other sites
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'

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
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • 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  
  • Create New...