willichan Posted March 28, 2011 Share Posted March 28, 2011 Version 2.2.5 works well on my machine, from both script and compiled versions. When I put a compiled version on a colleague's machine, he gets an error. Line 808 (File "c:\Documents and Settings\...\desktop\CodecControl.exe"): Error: The requested action with this object has failed. 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...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 I wanted to check one particular 32bit codec and couldn't if running script with x64 AutoIt (double-click). It lists wrong and I can't see any remark in the code or the thread about that. There kinda is, but not very obvious. If I may suggest: Local $Wow64 If @AutoItX64 Then $Wow64 = "\Wow6432Node" $odX86 = _DirectShowFilters() $odX86.SetUp("DirectShow Filters (x86)", "HKLM\SOFTWARE" & $Wow64 & "\Classes\CLSID\{083863F1-70DE-11D0-BD40-00A0C911CE86}\Instance\", "_UnregisterCallBackX86") That should work regardless of the bitness of the system or AutoIt. Same goes for any other similar thing. Yes I may aswell implement x64 support, I just need to figure out how to read everything, that thing you posted just reads the x64 registry (I didn't expect that). Btw, do something with your beard. I can't decide what to do with it. Stubble or chave completely. edit: and thanks. For which? .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 Version 2.2.5 works well on my machine, from both script and compiled versions. When I put a compiled version on a colleague's machine, he gets an error.Line 808 (File "c:\Documents and Settings\...\desktop\CodecControl.exe"):Error: The requested action with this object has failed.Is that when he starts it or when he presses a button? (which button?).Since it's a object it got to be something with AutoItObject. Maybe the RegRead(), they lack error-checking (many things do actually, but you know that, you have the source).I know I can get the "compiled line" from obfuscator, but can't remember how. Tried some things but line 808 was never anything interesting. Did you change any of the au3wrapper commands so the lines moved? (I see that the exe filename is not what i set)Until we figure out something better, can you ask your colleague to create a file called "Log" (no extension) and then post what it contains after he starts and crashed the app once? .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
trancexx Posted April 1, 2011 Share Posted April 1, 2011 For which? For the script. ♡♡♡ . eMyvnE Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 For the script.Oh you're welcome I think it's starting to shape up quite nicely compared to more established tools like InstalledCodec. InstalledCodec has so many extra features it makes you feel bloated and dirty, here the simplicity of CodecControl could actually be a winner.I'm thinking I should upload to some software sites soon (download.com?). Just needs some more error-checking. And a icon for the exe. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 I'm not sure how hard it would be to convert your script, but you could try my custom They allow explicit access to the 32 and 64 bit registry hives without having to use the Wow6432Node notations. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 @wraithdu Should be fairly easy, we are only talking 8 RegRead/RegWrite/EnumKey so it isn't exactly much to write, and the syntax of your functions looks easy enough. Being able to use HKLM32 sounds like it would simplify alot (I still haven't decided what trancexx code is doing). I will try it out, like, now. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 (edited) Regarding what trancexxx said:On 64bit windows, registry keys for certain branches that are used by 32bit programs are stored under the Wow6432Node keys. So for a 32bit program's entries in HKLM\Software for example, they actually exist under HKLM\Software\Wow6432Node. But for a 32bit program, this translation is transparent. So when it accesses HKLM\Software, it is transparently redirected to HKLM\Software\Wow6432Node.For a 64bit program, in order to access the 32bit software keys, it must specifically use HKLM\Software\Wow6432Node.For AutoIt: A 64bit script would use HKLM\Software for 64bit keys, and HKLM\Software\Wow6432Node for 32bit keys. I do not believe there This is NOT such a thing as HKLM32\Software for a 64bit script to access 32bit keys. A 32bit script would use HKLM\Software for 32bit keys and HKLM64\Software for 64bit keys.Confusing enough?My functions get around it by specifically setting flags for which keys to access, and they work independent of the bitness of the actual script. This allows you to use HKLM32\Software or HKLM64\Software without using the Wow6432Node notation. Edited April 1, 2011 by wraithdu Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 Yes I know, but use the code trancexx posted and it reads x64 filters instead of the requested x86 filters. It doesn't make any bloody sense. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 I can see where that would be puzzling... Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 Well, I tried trancexxx's code and it works fine on Win7 x64 running as either a 64bit or 32bit script. So, YMMV??? Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 (edited) But I have Win7 too.... Anyway, I tried your UDF, works beautifully! A little slowdown but we can live with that for now. This is AutoIt after all Wait, there's actually one problem. Win2000 support. Windows 2000 doesn't support the alternative registry view thing, see here (<-- link).I think I'll do something like trancexx showed, but for @OSVersion and Win2k. Easy peasy.Edit: fix'dEdit2: I've a suggestion for your Registry functions UDF, add a statement, "Windows 2000 is not supported", and/or link to a article that explains it (like the one above). Just in case some other person want Win2k support and isn't aware of the problem like I'm. Edited April 1, 2011 by AdmiralAlkex .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 Well, considering there's no x64 version of Windows 2000... that makes sense Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 I mean that things like HKLM32/HKLM64 doesn't work .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 Does the function actually return an error and fail? That's odd behavior from MS. Usually when it comes to flag parameters unsupported flags are just ignored. Eh, either way, you can still use my functions, you'll just have to filter out the 32/64 on win2k. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 Well _RegEnumKey gives @error = 2 and @extended = 5 .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
wraithdu Posted April 1, 2011 Share Posted April 1, 2011 @extended is the return value from RegEnumKeyEx, which is a system error code, which in this case 5 = ERROR_ACCESS_DENIED. But I like error code 7 -> ERROR_ARENA_TRASHED Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 But I like error code 7 -> ERROR_ARENA_TRASHED .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface Link to comment Share on other sites More sharing options...
willichan Posted April 1, 2011 Share Posted April 1, 2011 (edited) Is that when he starts it or when he presses a button? (which button?). He says that it happens when he starts it. He has already deleted it, so I will see about re-copying it to him and having him run it with the log. I did rename it to remove the version number from the name. The compiler directives are as follows: #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Compression=4 #AutoIt3Wrapper_UseX64=n #AutoIt3Wrapper_Res_Fileversion=2.2.5.0 #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** --- Edit --- Ok. I recopied the exe to his desktop, and created the "log" file. It ran without errors. The only change to his system that he is aware of is that he ran a registry defrag on it during lunch. Go figure. He loves the new version now. Edited April 1, 2011 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...
AdmiralAlkex Posted April 1, 2011 Author Share Posted April 1, 2011 Ok, well that's weird. I will probably post an update tomorrow with wraithdu's registry udf and more errorchecking, that might help. .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface 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