Jump to content
dgm5555

Installation 'hung' with Windows 10 64bit (for 3 minutes)

Recommended Posts

dgm5555

Installation appeared to hang for 2-3 minutes with the message "Target was appended to PSModulePath"

I was about to kill it when it restarted.

(Installing 64bit version of v3.3.14.0 on Windows10 beta)

Clipboard01.jpg

Edited by dgm5555
extra info

Share this post


Link to post
Share on other sites
guinness

Anti-virus maybe?


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
Melba23

dgm5555,

My Autoit installations also hang at that point - although not for that long - so it is not just you.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
dgm5555

The SciTE4 installation also hangs for a minute at "Tell Windows to Update Environment". Given the rest of the installation (and almost every other installation I've tried) takes 15-20 seconds on my system, this seems to me a significant glitch.

 

Share this post


Link to post
Share on other sites
Melba23

dgm5555,

 I have asked Jon to pop in - it is his installer.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites
Jon

Hmm, that just updating the PSModulePath environment variable. That's been in the installer (beta) for about a year and I've not seen any other reports. It takes about 1-5 seconds on my install usually.

@Jos are you changing any env variables - what is happening in the scite installer at "Tell Windows to Update Environment"?  In the main installer I'm using a nsis addon like this:

${EnvVarUpdate} $0 "PSModulePath" "A" "HKLM" "$INSTDIR\AutoItX" ; Append

 

Share this post


Link to post
Share on other sites
Jon

@dgm5555 could you run these three scripts and post the results please? 

Script1

Global Const $HWND_BROADCAST = 0xFFFF
Global Const $WM_SETTINGCHANGE = 0x001A

Global Const $SMTO_BLOCK = 0x0001
Global Const $SMTO_NORMAL = 0x0000
Global Const $SMTO_ABORTIFHUNG = 0x0002

$time = TimerInit()
MsgBox(4096, "", "Script1")
_WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 5000, $SMTO_NORMAL)
MsgBox(4096, "", "Script time: " & Round(TimerDiff($time) / 1000, 2))

Func _WinAPI_SendMessageTimeout($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iTimeout = 1000, $iFlags = 0)
    Local $aRet = DllCall('user32.dll', 'lresult', 'SendMessageTimeoutW', 'hwnd', $hWnd, 'uint', $iMsg, 'wparam', $wParam, _
            'lparam', $lParam, 'uint', $iFlags, 'uint', $iTimeout, 'dword_ptr*', 0)
    If @error Then Return SetError(@error, @extended, -1)
    If Not $aRet[0] Then Return SetError(10, _WinAPI_GetLastError(), -1)

    Return $aRet[7]
EndFunc   ;==>_WinAPI_SendMessageTimeout

 

Script2

Global Const $HWND_BROADCAST = 0xFFFF
Global Const $WM_SETTINGCHANGE = 0x001A

Global Const $SMTO_BLOCK = 0x0001
Global Const $SMTO_NORMAL = 0x0000
Global Const $SMTO_ABORTIFHUNG = 0x0002

$time = TimerInit()
MsgBox(4096, "", "Script2")
_WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 5000, $SMTO_BLOCK+$SMTO_ABORTIFHUNG)
MsgBox(4096, "", "Script time: " & Round(TimerDiff($time) / 1000, 2))

Func _WinAPI_SendMessageTimeout($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iTimeout = 1000, $iFlags = 0)
    Local $aRet = DllCall('user32.dll', 'lresult', 'SendMessageTimeoutW', 'hwnd', $hWnd, 'uint', $iMsg, 'wparam', $wParam, _
            'lparam', $lParam, 'uint', $iFlags, 'uint', $iTimeout, 'dword_ptr*', 0)
    If @error Then Return SetError(@error, @extended, -1)
    If Not $aRet[0] Then Return SetError(10, _WinAPI_GetLastError(), -1)

    Return $aRet[7]
EndFunc   ;==>_WinAPI_SendMessageTimeout

 

Script3

Global Const $HWND_BROADCAST = 0xFFFF
Global Const $WM_SETTINGCHANGE = 0x001A

Global Const $SMTO_BLOCK = 0x0001
Global Const $SMTO_NORMAL = 0x0000
Global Const $SMTO_ABORTIFHUNG = 0x0002

$time = TimerInit()
MsgBox(4096, "", "Script3")
_WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 250, $SMTO_NORMAL)
MsgBox(4096, "", "Script time: " & Round(TimerDiff($time) / 1000, 2))

Func _WinAPI_SendMessageTimeout($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iTimeout = 1000, $iFlags = 0)
    Local $aRet = DllCall('user32.dll', 'lresult', 'SendMessageTimeoutW', 'hwnd', $hWnd, 'uint', $iMsg, 'wparam', $wParam, _
            'lparam', $lParam, 'uint', $iFlags, 'uint', $iTimeout, 'dword_ptr*', 0)
    If @error Then Return SetError(@error, @extended, -1)
    If Not $aRet[0] Then Return SetError(10, _WinAPI_GetLastError(), -1)

    Return $aRet[7]
EndFunc   ;==>_WinAPI_SendMessageTimeout

 

Edited by Jon

Share this post


Link to post
Share on other sites
Jos
@Jos

 are you changing any env variables - what is happening in the scite installer at "Tell Windows to Update Environment"?  In the main installer I'm using a nsis addon like this:

Yes, I am creating/updating SCITE_USERHOME in the SciTE4AutoIt3 installer and do something like:

!include "winmessages.nsh"
  !define env_hkcu 'HKCU "Environment" "SCITE_USERHOME"'   
  -- set the $SCITE_USERHOMEDIR to the correct path
  DetailPrint 'Add SCITE_USERHOME to registry'
  WriteRegExpandStr ${env_hkcu} $SCITE_USERHOMEDIR
  ; make sure windows knows about the change
  DetailPrint 'Tell Windows to Update Enviroment'
  SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000

Believe I first tried the available NSIS option but was having issues with that... not sure what any more, but found this one somewhere.

Is that going to be an issue in Win10?

Jos

Edited by Jos

SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
UEZ

Win10 has a built-in VS (Windows Defender - Antimalware Service Executable) which is causing probably this delay.

Edited by UEZ

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Share this post


Link to post
Share on other sites
Jon

Nah, it's todo with hung windows I think. Each window has 5 seconds to respond to the env change message. So if 10 windows don't respond then the delay is 50 seconds.

I'm assuming that when the OP runs those scripts that one of them will be quicker.  In the installer I'm changing the SendMessage line to this:

!include "WinMessages.NSH"
...
...
System::Call "user32::SendMessageTimeoutW(i ${HWND_BROADCAST}, i ${WM_WININICHANGE}, i 0, w 'Environment', i 3, i 1000, i 0)"

Which will be quicker anyway (1 second timeout rather than 5), but also uses SMTO_BLOCK and SMTO_ABORTIFHUNG parameters. 

I should change the EnvUpdate() AutoIt function as well to include the SMTO_ABORTIFHUNG flag.

Edited by Jon
Added NSIS Include

Share this post


Link to post
Share on other sites
Jos

What is stopping us from even making the timeout shorter as we shouldn't care too much about notification for the environment update to running programs?

Jos


SciTE4AutoIt3 Full installer Download page   - Beta files       Read before posting     How to post scriptsource        Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites
dgm5555

Sorry about the delay.

@Jon you script seems to be timing how long before I press OK for the msgbox. Was that your intention?

I modified the script a bit (including the missing reference too) to the following which repeats the loop changing variables and averages the time:

Let me know though if I busted it from your intended purpose?

#include <WinAPI.au3>
Global Const $HWND_BROADCAST = 0xFFFF
Global Const $WM_SETTINGCHANGE = 0x001A

Global Const $SMTO_BLOCK = 0x0001
Global Const $SMTO_NORMAL = 0x0000
Global Const $SMTO_ABORTIFHUNG = 0x0002

$time1=0
$time2=0
$time3=0

for $i = 1 to 100
    $time = TimerInit()
    _WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 5000, $SMTO_NORMAL)
    $time1 = $time1 + TimerDiff($time)

    $time = TimerInit()
    _WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 5000, $SMTO_BLOCK+$SMTO_ABORTIFHUNG)
    $time2 = $time2 + TimerDiff($time)


    $time = TimerInit()
    _WinAPI_SendMessageTimeout($HWND_BROADCAST, $WM_SETTINGCHANGE, 0, "Environment", 250, $SMTO_NORMAL)
    $time3 = $time3 + TimerDiff($time)

Next

ConsoleWrite(@CRLF & "Script1" & @CRLF)
ConsoleWrite("Script time: " & Round($time1 / 1000/100, 2) & @CRLF)
ConsoleWrite(@CRLF & "Script2" & @CRLF)
ConsoleWrite("Script time: " & Round($time2 / 1000/100, 2) & @CRLF)
ConsoleWrite(@CRLF & "Script3" & @CRLF)
ConsoleWrite("Script time: " & Round($time3 / 1000/100, 2) & @CRLF)


Func _WinAPI_SendMessageTimeout($hWnd, $iMsg, $wParam = 0, $lParam = 0, $iTimeout = 1000, $iFlags = 0)
    Local $aRet = DllCall('user32.dll', 'lresult', 'SendMessageTimeoutW', 'hwnd', $hWnd, 'uint', $iMsg, 'wparam', $wParam, _
            'lparam', $lParam, 'uint', $iFlags, 'uint', $iTimeout, 'dword_ptr*', 0)
    If @error Then Return SetError(@error, @extended, -1)
    If Not $aRet[0] Then Return SetError(10, _WinAPI_GetLastError(), -1)

    Return $aRet[7]
EndFunc   ;==>_WinAPI_SendMessageTimeout

The entire SciTe console output was:

>"C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /run /prod /ErrorStdOut /in "C:\Users\dgm55\OneDrive\Documents\Scripts\test1.au3" /UserParams    
+>08:49:57 Starting AutoIt3Wrapper v.15.503.1200.1 SciTE v.3.5.4.0   Keyboard:00000809  OS:WIN_81/  CPU:X64 OS:X64    Environment(Language:0809)
+>         SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE   UserDir => C:\Users\dgm55\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper   SCITE_USERHOME => C:\Users\dgm55\AppData\Local\AutoIt v3\SciTE 
>Running AU3Check (3.3.14.0)  from:C:\Program Files (x86)\AutoIt3  input:C:\Users\dgm55\OneDrive\Documents\Scripts\test1.au3
+>08:49:57 AU3Check ended.rc:0
>Running:(3.3.14.0):C:\Program Files (x86)\AutoIt3\autoit3_x64.exe "C:\Users\dgm55\OneDrive\Documents\Scripts\test1.au3"    
--> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop

Script1
Script time: 0.13

Script2
Script time: 0.13

Script3
Script time: 0.12
+>08:50:35 AutoIt3.exe ended.rc:0
+>08:50:35 AutoIt3Wrapper Finished.
>Exit code: 0    Time: 38.5

 

Share this post


Link to post
Share on other sites
RaiNote

I am using Windows 10 too  but no delay.°-° Maybe it would help those who have a hung there to use Compatibility Mode Win XP or Win 7. :3

-MAYBE-


  • C++/AutoIt/OpenGL Easy Coder
  • I will be Kind to you and try to help you
  • till what you want isn't against the Forum
  • Rules~

 

Share this post


Link to post
Share on other sites
mLipok

@Jon can you update it here: 

 

As I sse last update was at 12 July.

 

 

EDIT: but maybe this is actual version only updated date is incorrect ?

 

Edited by mLipok

Signature beginning:   Wondering who uses AutoIT and what it can be used for ?
* GHAPI UDF - modest begining - comunication with GitHub REST API Forum Rules *
ADO.au3 UDF     POP3.au3 UDF     XML.au3 UDF    How to use IE.au3  UDF with  AutoIt v3.3.14.x  for other useful stuff click the following button

Spoiler

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind. 

My contribution (my own projects): * Debenu Quick PDF Library - UDF * Debenu PDF Viewer SDK - UDF * Acrobat Reader - ActiveX Viewer * UDF for PDFCreator v1.x.x * XZip - UDF * AppCompatFlags UDF * CrowdinAPI UDF * _WinMergeCompare2Files() * _JavaExceptionAdd() * _IsBeta() * Writing DPI Awareness App - workaround * _AutoIt_RequiredVersion() * Chilkatsoft.au3 UDF * TeamViewer.au3 UDF * JavaManagement UDF * VIES over SOAP * WinSCP UDF * GHAPI UDF - modest begining - comunication with GitHub REST APIErrorLog.au3 UDF - A logging Library
 

My contribution to others projects or UDF based on  others projects: * _sql.au3 UDF  * POP3.au3 UDF *  RTF Printer - UDF * XML.au3 UDF * ADO.au3 UDF SMTP Mailer UDF * Dual Monitor resolution detection *

Useful links: * Forum Rules * Forum etiquette *  Forum Information and FAQs * How to post code on the forum * AutoIt Online Documentation * AutoIt Online Beta Documentation * SciTE4AutoIt3 getting started * Convert text blocks to AutoIt code * Games made in Autoit * Programming related sites * Polish AutoIt Tutorial * DllCall Code Generator * 

Wiki: Expand your knowledge - AutoIt Wiki * Collection of User Defined Functions * How to use HelpFile * Good coding practices in AutoIt * 

IE Related:  * How to use IE.au3  UDF with  AutoIt v3.3.14.x * Why isn't Autoit able to click a Javascript Dialog? * Clicking javascript button with no ID * IE document >> save as MHT file * IETab Switcher (by LarsJ ) * HTML Entities * _IEquerySelectorAll() (by uncommon) * IE in TaskScheduler

I encourage you to read: * Global Vars * Best Coding Practices * Please explain code used in Help file for several File functions * OOP-like approach in AutoIt * UDF-Spec Questions *  EXAMPLE: How To Catch ConsoleWrite() output to a file or to CMD *

"Homo sum; humani nil a me alienum puto" - Publius Terentius Afer
"Program are meant to be read by humans and only incidentally for computers and execute" - Donald Knuth, "The Art of Computer Programming"
:naughty:  :ranting:, be  :) and       \\//_.

Anticipating Errors :  "Any program that accepts data from a user must include code to validate that data before sending it to the data store. You cannot rely on the data store, ...., or even your programming language to notify you of problems. You must check every byte entered by your users, making sure that data is the correct type for its field and that required fields are not empty."

Signature last update: 2018-10-15

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

×