Jump to content

AutoItWrapper and resource language


Recommended Posts

Hi all,

recently I spent some time looking at resources that get embedded into the executable, using AutoItWrapper.

One thing that I noticed by chance is that when you set a resource language (running AutoItWrapper under Windows 7), you end up with resources for two languages (used ResourceHacker to look at it). One default resource for the default language (UK english, code 2057), and one looking like what you want for your chosen language.

E.g.

#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator

will produce a manifest for the language 2057, containing default <requestedExecutionLevel level="asInvoker" uiAccess="false"/>

and the manifest you asked for, for the language 1033, containing <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

If used this way, one might end up with MS choosing the wrong manifest when application is started.

Looking at the source and at MSDN, I think that MS introduced a stricter check to its function UpdateResource starting with Windows Vista, which is used to delete the default language resource if the user wants to set another one. The data passed to delete it seems invalid to MS.

Work around for me would be not to set another language, MS will pick the one and only resource independent of language. Fix could be to pass a null pointer to UpdateResource instead of an empty string, but I could as well be far off as I did only a quick test under Win7.

The behavior does not seem correct, even if impact is very low, but I could imagine that authors of user defined functions might also have some interest in this.

I could observe this behavior under Win 7, AutoItWrapper 2.0.0.1.

I do not think that it happened under Windows XP, Vista I do not know.

Is anyone able to test this under Windows Vista? Just use the two compiler directives I gave as an example, and one line of AutoIt code. Then look at the result with ResHAcker or in an editor like Notepad++.

And maybe something to teach me a bit - a scenario where you have to change the language of resources? Maybe to tell Windows which character set to use for umlauts?

Link to comment
Share on other sites

  • Developers

Just tested it with Win7 and a script with just the 2 lines in it.

I end up with only one Manifest for language 1033.

Have you tried the latest AutoIt3Wrapper I made available to you because the version number you specify doesn't sound correct.

Jos

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

Link to comment
Share on other sites

  • Moderators

SKlocke & Jos,

Tested on Vista and again only the one manifest for 1033 with level="requireAdministrator".

#AutoIt3Wrapper_Res_Language=1033
#AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator

MsgBox(0, "", "Test")

M23

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

Open spoiler to see 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

 

Link to comment
Share on other sites

  • Moderators

SKlocke,

No problem. At least now we know there is not a bug. :idea:

M23

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

Open spoiler to see 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

 

Link to comment
Share on other sites

SKlocke,

No problem. At least now we know there is not a bug. :idea:

M23

Jos doesn't write buggy code.

Well rarely.

Well not too often at least.

Well ..................

George

Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.

Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.***

The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number.

Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else.

"Old age and treachery will always overcome youth and skill!"

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...