Jump to content

Question on RC.EXE and Resource Hacker.


Recommended Posts

When I compile script with the "Resource Hacker" option for substitutions of property into the .exe file, I receive this message:

RC.Exe (3) : Error : Resources information will not be updated in target program!

I don't have on my PC RC.EXE, what is this file, and what do it needs.

The SciTE documentation for CompileAU3 list in the complie steps "Run RC.exe (optional)" before "Run reshack.exe (optional)".

Thank you and bye by Jo.

:)

Link to comment
Share on other sites

  • Developers

When I compile script with the "Resource Hacker" option for substitutions of property into the .exe file, I receive this message:

RC.Exe (3) : Error : Resources information will not be updated in target program!

I don't have on my PC RC.EXE, what is this file, and what do it needs.

The SciTE documentation for CompileAU3 list in the complie steps "Run RC.exe (optional)" before "Run reshack.exe (optional)".

Thank you and bye by Jo.

:)

The RC program is included in the AutoIt3Wrapper program and will be FileInstall(ed) when missing.

So you should have the following files in the AutoIt3Wrapper subdirectory : rc.exe and rcdll.dll

Looks like you are not using the latest SciTE version since CompileAU3 was renamed to AutoIt3Wrapper.

I will need more info about what you have specified for resource updates in the program/INI ... maybe there is something in there that is not supported ...

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

Thank you very much for your pleasure, I have installed SciTE v1.68 (the last).

On my PC I have the directory CompileAU3 and not the AutoIt3Wrapper.

I had create the AutoIt3Wrapper where I put the Resource Hacker v3.4.0, in this way CompileAU3.exe don't have the warning on missing Resource Hacker.

In thats directories I don't have rc.exe.

The strange thing is that now the compilation is ok, in fact like you told me, I had, in file .ini, a declaration not supported (string after keyword FileVersion).

I read the CompileAU3.au3 and notice a reference to rc.exe, and the error message that I received, but because is the compilation ok if I don't have the file?

Do your installation of SciTE v1.68 created AutoIt3Wrapper and not CompileAU3?

I read on documentation of SciTE to put Resource Hacker in CompileAU3, and in other place to put it in AutoIt3Wrapper.

Thank you, bye by Jo.

:)

Link to comment
Share on other sites

  • Developers

Thank you very much for your pleasure, I have installed SciTE v1.68 (the last).

On my PC I have the directory CompileAU3 and not the AutoIt3Wrapper.

I had create the AutoIt3Wrapper where I put the Resource Hacker v3.4.0, in this way CompileAU3.exe don't have the warning on missing Resource Hacker.

In thats directories I don't have rc.exe.

The strange thing is that now the compilation is ok, in fact like you told me, I had, in file .ini, a declaration not supported (string after keyword FileVersion).

I read the CompileAU3.au3 and notice a reference to rc.exe, and the error message that I received, but because is the compilation ok if I don't have the file?

Do your installation of SciTE v1.68 created AutoIt3Wrapper and not CompileAU3?

I read on documentation of SciTE to put Resource Hacker in CompileAU3, and in other place to put it in AutoIt3Wrapper.

Thank you, bye by Jo.

:)

Just download the latest version posted 4/13. SciTE 1.68 was included on 3/11 so I don't know what version SciTE4AutoIt3 installer you are using.

I gave you wrong info about Rc.exe. It is Fileinstall(ed) to @tempdir and remove when finished.

Does SciTE's Output pane show and errors or extra info from RC ?

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

  • 1 month later...

I'm having much the same issue with my setup... What's driving me bonkers is I can't, for the life of me, figure out why it doesn't work now, when it worked perfectly fine the last time I wrote an AutoIt3 program! :wacko:

First, some background:

I've been using a customized CompileAU3.ini file since, I think, AutoIt v3.1.1.76. That's about the time I discovered I could specify where my ResHacker.exe and RC.EXE/RCDLL.DLL files were located, thus avoiding duplicate copies -- even the temporary ones extracted from CompileAU3 itself. The last time I wrote a program using SciTe4Au3 and all the usual suspects... erm, Tools :D , Beta development was at v3.1.1.117.

I recently re-installed practically everything: AutoIt v3.1.1 (Production), AutoIt v3.1.1.131 (Latest Beta) and SciTe4Au3 plus the update to bring the tools up to v3.1.1.131 support. I noticed that my customized CompileAU3.ini was copied/renamed to AutoIt3Wrapper.ini, and placed in the new directory. I spent a moment checking out the new compiler directives, so I could make sure my wrapper custom INI was up-to-date -- I like to have ALL the options listed as a quick reference, rather than opening the Directives.au3 every time. The aneurysm began when I consistently received a compile-time error stating my program would not have it's resources information updated.

My first thought was, "Rats, did I delete MASM32 when I was ``cleaning shop'' of old, rarely used programming resources?" But, I still have a complete MASM32 directory tree, including RC.EXE and RCDLL.DLL.

My second thought was, "I'll bet it's an old path that wasn't corrected when things got swapped around on network shares/drive mappings..." But, that was shot down; I have MASM32 on a local hard drive. The path had not been changed since I first discovered I could tell the compiler front-end -- CompileAU3 -- where to find my own copy of the Resource Compiler.

My next thought was along the lines of some obscure version conflict. So, I removed the path for RC.EXE from the AutoIt3Wrapper.ini -- I left the option, just made it equal nothing, like 5/8ths of the other options in there. I tried compiling my program again, this time relying on the included copy of RC.EXE. I was stumpted when I didn't see ANY change in the contents of my temporary files directory. I didn't see RC.EXE/RCDLL.DLL briefly flash through, like with previous versions of the front-end/wrapper. I didn't see any "temp.rc" file, either! :D Odly enough, the progress dialogue shown during compilation took the expected amount of time to "create resource file."

To my, almost, relief, I did see a file in the temporary files directory called rc.log. I had found that EXTREMELY useful when I was tinkering with specifying the location to my own RC.EXE way back when ... Upon opening the log file, I was stumped yet again! The error message, from RC.EXE, said, and I copy'n'paste, "RC : fatal error RC1110 : could not open temp.RC"

I looked in all the directories I thought it could have ended up in, due to some bizzar path issue. Unfortunately, I found nothing. I even tried re-compiling AutoIt3Wrapper myself, adding trace and debug lines on several occasions... Painfully, that wouldn't compile, either. "Rant, rant, rant, ..." :D I did, however, learn that everything should be processing as it should. I just can't find any sign of temp.rc anywhere! And, since it gets deleted after use, tracking it down with a complete system, and network, search would probably leave me headless, little bits of brain matter all over the walls, ceiling and furniture! (Pleasant thought, yes, no? :lol: )

Have I gone into more than enough detail yet? Okay, let's get the final details over and done with before we all turn to fossils. :lol:

OS = Windows 2000 CSD0400 / SP4

%TEMP% = C:\WINNT\TEMP\1of10

C:\WINNT\TEMP is an NTFS Junction/Hardlink to D:\TMP, making %TEMP% physically = D:\TMP\1of10

AutoIt3Wrapper trials:

- With own RC.EXE path

- Without own RC.EXE path

- Without custom AutoIt3Wrapper.ini

Output from last attempt to compile my program:

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

>"D:\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe" /Beta /in "D:\PRJ\PROG\AUT\CleanPol.au3" /autoit3dir "D:\AutoIt3\BETA"

> Running:COPY /V /Y C:\WINNT\REG.EXE "D:\PRJ\PROG\AUT"

> Running:COPY /V /Y C:\WINNT\system32\PSAPI.DLL "D:\PRJ\PROG\AUT"

>Running AU3Check (1.54.1.1) params: from:D:\AutoIt3\BETA

+>AU3Check ended.rc:0

! RC.Exe (1) : Error : Resources information will not be updated in target program!

>Running:(3.1.1.131):o:\AutoIt3\BETA\aut2exe\aut2exe.exe

+>Aut2exe.exe ended.rc:0

>Running:ERASE /F /Q "D:\PRJ\PROG\AUT\REG.EXE"

>Running:ERASE /F /Q "D:\PRJ\PROG\AUT\PSAPI.DLL"

+ Updated the Source Version to:1.3.131.5

>Exit code: 0 Time: 54.277

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

I would like to note that initial attempts to compile did show that the wrapper was using RC.EXE from D:\masm32\bin, which was how I had it set since around AutoIt v3.1.1.76 - v3.1.1.80.

And, for the final spam of the day -- at least, from me -- my original custom AutoIt3Wrapper.ini:

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

# CompileAU3 Configuration File

#

# This file serves two purposes:

# • Configure location of ResHacker.exe and RC.EXE.

# • Default directives applied to all compiled scripts.

#

# Directives in here can be overridden by a script's own INI file, or by

# #Compiler_* directives in a script itself; the latter always has final say.

#

# The Run_Before and Run_After directives can use these special variables:

# %in%, %out%, %icon%, %fileversion%, %scriptfile%, %scriptdir%

#

# The #Compiler_Res_Field directive can use these special variables:

# %AutoItVer%, %Date%, %LongDate%, %Time%

#

# Use the PlugIn_Funcs directive for a comma delimited list of function names

# from plug-ins, to avoid AU3Check errors.

[Config]

ResHackerPath=Y:\ResHacker

RCExePath=D:\masm32\bin

[AutoIt]

Aut2Exe=

Icon=D:\AutoIt3\BETA\Aut2Exe\Icons\AutoIt_HighColor.ico

OutFile=

OutFileType=exe

Allow_Decompile=1

PassPhrase=

UseUpx=1

Compression=2

[Res]

UpdateInformation=1

Comment=

Description=

LegalCopyright=©2006 One of Ten <OneOfTen@gmail.com>

FileVersion=1.00.0000.0000

FileVersion_AutoIncrement=Y

Field1Name=

Field1Value=

Field2Name=

Field2Value=

[Other]

Run_AU3Check=Y

AU3Check_Stop_OnWarning=Y

AU3Check_Parameter=

PlugIn_Funcs=

Run_Before=

Run_After=

Run_cvsWrapper=Y

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

I think my bulb is almost burned out :) ... I'm probably overlooking the simplest little detail on my hunt for the ludicrously over-sized bug. :(

1,000 praises to the Gee-uru, or is it Gu-eek-ru, who can figure out this clutter! ;)

PS: I forgot to mention the compiler directives section in my script itself... Here it is:

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

#Compiler_Prompt=Y

#Compiler_Aut2Exe=D:\AutoIt3\BETA\Aut2Exe\Aut2Exe.exe

#Compiler_icon=D:\PRJ\VIS\ICO\MISC\GPEdit002.ico

#Compiler_OutFile_Type=exe

;~ #Compiler_PassPhrase=

#Compiler_Allow_Decompile=Y

#Compiler_UseUpx=N

#Compiler_Compression=0

#Compiler_Res_Comment=Purges System and User account(s) of configured Windows® security policies. Program will only run on Windows® NT™ variant. User running program MUST belong to Administrators group!

#Compiler_Res_Description=Purge System/User Security Policies

#Compiler_Res_FileVersion=1.3.131.5

#Compiler_Res_FileVersion_AutoIncrement=Y

#Compiler_Res_LegalCopyright=©2006 One of Ten <OneOfTen@gmail.com>

#Compiler_Res_Field=*AutoIt Version*|%AutoItVer%

#Compiler_Res_Field=*Technical Detail*|http://www.autoitscript.com/autoit3/compiled.html

#Compiler_Res_Field=*Build Timestamp*|%longdate% %time%

#Compiler_Run_AU3Check=Y

#Compiler_AU3Check_DAT=D:\AutoIt3\SciTE\Defs\Unstable\Au3Check\au3check.dat

;~ #Compiler_AU3Check_Parameters=

#Compiler_AU3Check_Stop_OnWarning=1

#Compiler_Run_Before=COPY /V /Y C:\WINNT\REG.EXE "%scriptdir%"|COPY /V /Y C:\WINNT\system32\PSAPI.DLL "%scriptdir%"

#Compiler_Run_After=ERASE /F /Q "%scriptdir%\REG.EXE"|ERASE /F /Q "%scriptdir%\PSAPI.DLL"

#Compiler_Run_cvsWrapper=N

~ ~ ~ ~ CUT HERE ~ ~ ~ ~

Edited by 1of10

[right][img]style_emoticons/autoit/robot.gif[/img]One of TenSecondary Adjunct of Unimatrix Z03[/right]

Link to comment
Share on other sites

  • Developers

This is whats done by AutoIt3Wrapper:

It will use this line from the INI

[Config]

RCExePath=D:\masm32\bin

And copy these files from

D:\masm32\bin\RC.exe

D:\masm32\bin\RCdll.dll

to @TempDir\*.*

Then Run @tempdir\RC.exe temp >@TempDir\rc.log

So you can check if these files are in @tempdir and if theres a log file.

You coud try:

- running it manually on the commandline in @TempDir to see if it gives errors.

- Remove the RCExePath=D:\masm32\bin form the ini file. (this will use the internal version)

Edited by JdeB

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

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...