Gianni Posted December 26, 2014 Share Posted December 26, 2014 Sometime I notice that a script making use of the ie.au3 functions and that it correctly works on a PC, has issues on another PC with the same os and the same version of ie; it seems that some compatibility settings of ie makes the difference (and maybe some other unknown user setting). Since it's not a good idea impose a particular setting just to make my script run without problems, I was wondering if it exists some "portable" version of internet explorer, so to be able to make my script use that particular portable version regardless of what version and what settings are on any pc. any suggestion is welcome. thanks Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
guinness Posted December 26, 2014 Share Posted December 26, 2014 Search portablefreeware.com 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Gianni Posted December 26, 2014 Author Share Posted December 26, 2014 Search portablefreeware.com thanks, I will also seek around there Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
orbs Posted December 26, 2014 Share Posted December 26, 2014 i believe you are going about it the wrong way. IE being a core part of Windows since Windows 98, so running another version of IE, although possible, is prone to issues, and never is "portable". some IE packages can utilize DLL redirection to trap requests aimed at IE to the DLL of another IE; that still requires installation. start your reading here or here. i think you'll find this method both overhead and unreliable a solution for your requirements. what i would do if i were you: analyze what exactly is the function in your script that requires IE and exhibits the dependency issue you encounter. then, characterize the success and failure conditions, and see what are the prerequisites and conditions for this function to work. finally you can decide if you want to alert users if their IE settings are incompatible, enforce these settings yourself, or just use another browser altogether Signature - my forum contributions: Spoiler UDF: LFN - support for long file names (over 260 characters) InputImpose - impose valid characters in an input control TimeConvert - convert UTC to/from local time and/or reformat the string representation AMF - accept multiple files from Windows Explorer context menu DateDuration - literal description of the difference between given dates Apps: Touch - set the "modified" timestamp of a file to current time Show For Files - tray menu to show/hide files extensions, hidden & system files, and selection checkboxes SPDiff - Single-Pane Text Diff Link to comment Share on other sites More sharing options...
Moderators JLogan3o13 Posted December 26, 2014 Moderators Share Posted December 26, 2014 so running another version of IE, although possible, is prone to issues, and never is "portable". I would disagree. I have used virtualization suites (VMWare ThinApp on the paid side and Cameyo on the freeware side) to encapsulate IE, and have found it very portable. In one instance, I virtualized IE6 with Java 1.3.1_08 for a company that had an old web app they must still support. They are still using this today, even after a move to Windows 7, with no issues. I also virtualized IE on a Windows 7 machine where we were trying to track down performance issues on a web application. I had IE 8, 9, 10 and 11 all running on the same machine at the same time, all with different java versions. "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 comment Share on other sites More sharing options...
iamtheky Posted December 27, 2014 Share Posted December 27, 2014 i cant think any 3rd party version would be legit as distro of windows .dlls is strictly verboten. Just tools to help you roll your own, as JLogan mentioned. ,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-. |(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/ (_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_) | | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) ( | | | | |)| | \ / | | | | | |)| | `--. | |) \ | | `-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_| '-' '-' (__) (__) (_) (__) Link to comment Share on other sites More sharing options...
guinness Posted December 27, 2014 Share Posted December 27, 2014 One question, do you mean IE as in the interface or Trident, which is the rendering engine? As my link is still valid if you want to find browsers that use the Trident engine. 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 parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Gianni Posted December 27, 2014 Author Share Posted December 27, 2014 Thanks all for the answers In short the strange problem I experienced is like this: 1) I need to get data from several sites and then assemble data in a single report. 2) instead of getting data from each site one at time, (that takes longer time) I thought to "parallelize" the data collection by running more instances of explorer at once and then get data from the loaded pages (this way reduces waiting time). I used a code similar to this (it runs more browser instances): Func LoadData($aQuery) Local $n = UBound($aQuery), $oIE[$n], $AllReady For $i = 1 To $n - 1 $oIE[$i] = _IECreate("https://MySite/search_info.asp?txt=" & $aQuery[$i] & "&do=Search", 0, 0, 0) Next Do ; Wait for "ready" state of all IE. (Ready code nr. 4) $AllReady = 0 Sleep(1000) ; give browsers some time to load data For $i = 1 To $n $AllReady += _IEPropertyGet($oIE[$i], "readystate") = 4 ; 4 means "ready" finished to load page Next Until $AllReady = $n Return $oIE ; return pointers to browsers that are all loaded with data now EndFunc ;==>LoadData well, here is the problem, on some computers this approach works well, that is: browsers runs hidden and when all pages are loaded, the script goes ahead to get data from all pages already loaded. While on other computers, running exactly the same script, all browsers run in visible state, and screen get filled with them all. The main script also freezes and I have to logout to close all the browsers and reset the user session to a normal state. (I'm not sure if my thought (just a thought) to use an "encapsuled" browser (that should also be compatible with the IE.AU3 library) in the hope to have the same behaviour of the script on different computers with different settings of the installed local browser, is a good direction. Perhaps I'm walking on a dangerous ground where a possible solution could be worst than the initial problem... anyway thanks to all for the interesting suggestions. p.s. @JLogan3o13 I had a look to the Cameyo sw, I like it! @guinnessTrident sounds interesting. I didn't know of his existence (could it be used directly within AutoIt instead of the IE frontend? and maybe together with IE.AU3?) Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
willichan Posted December 30, 2014 Share Posted December 30, 2014 (edited) Another thought, if you want to avoid all of the on-screen browser windows, and if you do not need to interact with Java or Flash on the pages. You could use wget (http://gnuwin32.sourceforge.net/packages/wget.htm) to download the pages you need, and process them without needing to have any of it on the user's screen. Edited December 30, 2014 by willichan My UDFs: Barcode Libraries, Automate creation of any type of project folder, File Locking with Cooperative Semaphores, Inline binary files, Continue script after reboot, WinWaitMulti, Name Aggregator, Enigma, CornedBeef Hash Link to comment Share on other sites More sharing options...
Gianni Posted January 3, 2015 Author Share Posted January 3, 2015 (edited) Thanks willichan normally all of the on-screen browser windows are not displayed because of the third parameter set to 0 on the _IeCreate() function: $oIE[$i] = _IECreate("https://MySite/search_info.asp?txt=" & $aQuery[$i] & "&do=Search", 0, 0, 0) unluckily on some computers this parameter is ignored, causing the "overload" of browsers displayed on the screen. The idea to download the web page with wget (or even better with InetRead()) avoiding the use of the browser, could be a solution, but, in this way I will be on my own to extract the data from the tables because the loss of the possibility of use the _IETableWriteToArray function... (I do intensive use of this function in my script ) and all _IE* functions as well. I do not think it's an easy task extract the content of the tables from an raw html page.. Edit: >here a way to extract table content from html tables (it makes no use of any browser) Edited March 3, 2015 by Chimp Chimp small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt.... Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now