Melba23

#AutoIt3Wrapper_Res_Field=ProductVersion

8 posts in this topic

Hi,

I have been successfully using the #AutoIt3Wrapper_Res_Field=ProductVersion directive for some time to set the version number in my compiled scripts. But since using 3.3.0.0 the directive no longer seems to work as it did and the Explorer (and other file managers) properties page gives me the AutoIt version number instead. ResHacker shows that AuotIt3Wrapper is still getting the info into the file:

1 VERSIONINFO
FILEVERSION 2,8,3,0
PRODUCTVERSION 3,3,0,0
FILEOS 0x4
FILETYPE 0x0
{
BLOCK "StringFileInfo"
{
    BLOCK "080904b0"
    {
        VALUE "FileVersion", "2.8.3.0"
        VALUE "FileDescription", "###############"
        VALUE "LegalCopyright", "© ###############"
        VALUE "ProductName", "###############"
        VALUE "ProductVersion", "2.8"
    }
}

BLOCK "VarFileInfo"
{
    VALUE "Translation", 0x0809 0x04B0
}
}

but Explorer Properties show "3.3.0.0" and not "2.8". I cannot find anything I compiled with earlier Autoit versions using the same directive (why upgrade AutoIt if you do not upgrade your scripts!) - but I am certain that the Product Version property in Explorer was set as per the directive. After all, that was why I put the directive in there in the first place!

Has anything changed - or was I dreaming that I saw my Version Number and not the Autoit one?

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



This is done by design when I added the Resource update internally into AutoIt3Wrapper and this behavior is not related to the AutoIt3 release.

We had an discussion on this and the consensus was to set this field to to used BIN file version in stead of forcing the usage of "CompiledScript".

See here for some public discussion on this topic: http://www.autoitscript.com/forum/index.php?showtopic=58084&view=findpost&p=489992

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Jos,

Thank you for replying so quickly.

If I understand correctly, there is no way to set the "Product Version" field to anything other than the AutoIt version and I only imagined that I saw "my" version number beforehand. Looks like ResHacker to the rescue once again. >_<

As there is a specific "#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%" directive available, I do wonder why the Product Version property has to be set to that value as well. Is the matter open for rediscussion?

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

Jos,

Thank you for replying so quickly.

If I understand correctly, there is no way to set the "Product Version" field to anything other than the AutoIt version and I only imagined that I saw "my" version number beforehand. Looks like ResHacker to the rescue once again. >_<

As there is a specific "#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%" directive available, I do wonder why the Product Version property has to be set to that value as well. Is the matter open for rediscussion?

M23

Well, everything is possible as it is programmed in AutoIt3Wrapper and easily modified.

Question of course could also be what is against having it set this way?

I was in agreement that setting the "CompiledScript" would really give away its an (autoit3) script, but what is the issue with setting the ProductVersion to the Version of the AUtoIt3 Bin File?

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

Share this post


Link to post
Share on other sites

Jos,

Perhaps because the compiled exe is actually the work of the coder? I know the EULA states that it is only licensed, but the fact it also forbids disassembly suggest that a certain level of intellectual property rights is given to the coder. As a mere hobbyist coder, I have no real problem, but I can imagine someone who produces compiled Autoit code commercially might prefer to have the version number of their application. If they also wish to store the AutoIt version there is the AutoIt Version directive specifically for that purpose.

I know it is no big deal to change it after compilation, but forcing the Autoit version number does seem a little strange to me - my vote would be to let an AutoIt3Wrapper directive override any defaults. However, you guys do the work and I am ready to accept whatever you decide. >_<

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

I know this thread is too old, but for the sake that anyone who might face this problem & land here, find an answer.

I had the same problem that Melba23 had. I googled it & found no solution anywhere. Even no one else faced this problem (looks like).

The problem (again & precisely):

The following directive had no effect on the output executable file (the x.xx is always replaced with AutoIt3 version):

://////=__=.=

By exploring some *.au3 files (especially "AutoIt3Wrapper.au3"), I found the following directive:

#AutoIt3Wrapper_Res_ProductVersion=x.xx

I tested it and happily, it worked :).

Maybe it should be documented in the AutoIt3 manual or something.

Share this post


Link to post
Share on other sites
12 hours ago, hossam6236 said:

I know this thread is too old,

Correct!

12 hours ago, hossam6236 said:

Maybe it should be documented in the AutoIt3 manual or something.

It is but obviously not in the AutoIt3 helpfile but rather in the SciTE4AutoIt3 helpfile in the section under AutoIt3wrapper on directives. ;)

Jos


Visit the SciTE4AutoIt3 Download page for the latest versions        Beta files                                                          Forum Rules
 
Live for the present,
Dream of the future,
Learn from the past.
  :)

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