hello
I'm trying to debug an old autoit source which launch a 16bits installation program under windows XP SP3. Autoit is used to detect the end of installation.
Setup is automatic ( no user interaction ), but not silent.
Event launched with runwait, setup will immediately give control back.
setup will show a full window, and when window desappears, setup is finished. This is the way the programmer choosed to detect the end of setup process : Using process (ProcessExists and so on ) is impossible because setup is running in 16 bit emulation process : windows XP launch a process called "NTVDM", and this process will remain active even after setup is finished.
Here is the script:
I wanted to upgrade autoit version used by this program, but with autoit 3.3.8.1, windows from setup are just ignored. After searching the exact release of autoit
- windows are well detected with autoit 3.2.10.0
- windows are not detected with autoit 3.2.12.0
changelog says for autoit 3.2.12.0 : "Fixed: WinWaitActive() not matching (more frequent with Windows Vista)."
I already know that one solution is just to remain with 3.2.10.0 of autoit, but any other idea is welcome
Thanks.
[edit]
found solution to my problem : since autoit 3.2.12.0, runwait runs has expected, that is, waits that launched setup exits.
This was really difficult to detect once changelog headed me on a wrong track. ( there is no word in changelog about runwait, but something was changed about it )
setup which is launched start full screen windows, so It was not obvious to see that windows detection was not made at good time.
if there is a lesson to be learned here, it's that things are not always what they seem to be.
I'm trying to debug an old autoit source which launch a 16bits installation program under windows XP SP3. Autoit is used to detect the end of installation.
Setup is automatic ( no user interaction ), but not silent.
Event launched with runwait, setup will immediately give control back.
setup will show a full window, and when window desappears, setup is finished. This is the way the programmer choosed to detect the end of setup process : Using process (ProcessExists and so on ) is impossible because setup is running in 16 bit emulation process : windows XP launch a process called "NTVDM", and this process will remain active even after setup is finished.
Here is the script:
Spoiler
I wanted to upgrade autoit version used by this program, but with autoit 3.3.8.1, windows from setup are just ignored. After searching the exact release of autoit
- windows are well detected with autoit 3.2.10.0
- windows are not detected with autoit 3.2.12.0
changelog says for autoit 3.2.12.0 : "Fixed: WinWaitActive() not matching (more frequent with Windows Vista)."
I already know that one solution is just to remain with 3.2.10.0 of autoit, but any other idea is welcome
Thanks.
[edit]
found solution to my problem : since autoit 3.2.12.0, runwait runs has expected, that is, waits that launched setup exits.
This was really difficult to detect once changelog headed me on a wrong track. ( there is no word in changelog about runwait, but something was changed about it )
setup which is launched start full screen windows, so It was not obvious to see that windows detection was not made at good time.
if there is a lesson to be learned here, it's that things are not always what they seem to be.