Skip Menu |

This queue is for tickets about the Win32-Exe CPAN distribution.

Report information
The Basics
Id: 57013
Status: open
Priority: 0/
Queue: Win32-Exe

People
Owner: Nobody in particular
Requestors: DJIBEL [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.12_03
Fixed in: (no value)



Subject: -i option, Can't call method "remove" on an undefined value at C:/Perl/site/lib/Win32/Exe.pm line 228.
Dear, It is impossible to add an icon to exe. exe_update -i logo.ico test.exe Can't call method "remove" on an undefined value at C:/Perl/site/lib/Win32/Exe.pm line 228. Win32::Exe 0.13 ActivePerl v5.10.1 built for MSWin32-x86-multi-thread, Binary build 1007 [291969]. OS : Vista or XP Best Regards, djibril
Hi, It currently is not possible to add any resource at all to an executable that has no existing resources using exe_update. Perhaps for version 0.14 Regards Mark On Wed Apr 28 15:05:31 2010, DJIBEL wrote: Show quoted text
> Dear, > > It is impossible to add an icon to exe. > > exe_update -i logo.ico test.exe > > Can't call method "remove" on an undefined value at > C:/Perl/site/lib/Win32/Exe.pm line 228. > > Win32::Exe 0.13 > ActivePerl v5.10.1 built for MSWin32-x86-multi-thread, Binary build > 1007 [291969]. > OS : Vista or XP > > Best Regards, > > djibril
Version 0.14 uploaded to CPAN allows creatinion of new resource section where none exists if running on MSWin platform.
Le Mar 04 Mai 2010 04:26:33, MDOOTSON a écrit : Show quoted text
> Version 0.14 uploaded to CPAN allows creatinion of new resource section > where none exists if running on MSWin platform.
Thank you Mark, Good Job, I will test it soon. Djibril
Best Regards
Dear, Sorry, but it is not working. I have theses messages now : 1) exe_update.pl -i test.ico test.exe No resource section found in file test.exe at C:/Perl/site/lib/Win32/Exe.pm line 348. No resource section found in file test.exe at C:/Perl/site/lib/Win32/Exe.pm line 348. Can't call method "remove" on an undefined value at C:/Perl/site/lib/Win32/Exe.pm line 473. Or this message using PAR::Packer 2) pp -o test.exe test.pl -i test.ico Set up gcc environment - 4.4.3 Set up gcc environment - 4.4.3 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. No resource section found in file parllOZP.exe at C:/Perl/site/lib/Win32/Exe.pm line 348. Can't call method "remove" on an undefined value at C:/Perl/site/lib/Win32/Exe.pm line 473. Best regard, Djibril
Hi, PAR::Packer won't work as it currently doesn't know about the changes in Win32::Exe. It looks like there may be some issue with your install. The line numbers of the errors show you have Win32::Exe 0.14 installed, but I can't see how you could get the errors using the exe_update.pl that is installed with version 0.14. It should have the following code at line 109 if(!$exec->has_resource_section) { die("Cannot create new resource section on this platform. Requires Win32") if $^O !~ /^mswin/i; $exec->create_resource_section or die("Failed to create new resource section"); $exec = Win32::Exe->new($exe) or die "Unable to open file $exe"; } On Tue May 04 11:40:37 2010, DJIBEL wrote: Show quoted text
> Dear, > > Sorry, but it is not working. I have theses messages now : > > 1) exe_update.pl -i test.ico test.exe > > No resource section found in file test.exe at > C:/Perl/site/lib/Win32/Exe.pm line 348. > No resource section found in file test.exe at > C:/Perl/site/lib/Win32/Exe.pm line 348. > Can't call method "remove" on an undefined value at > C:/Perl/site/lib/Win32/Exe.pm line 473. > > Or this message using PAR::Packer > 2) pp -o test.exe test.pl -i test.ico > Set up gcc environment - 4.4.3 > Set up gcc environment - 4.4.3 > Copyright (C) 2010 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There
is NO Show quoted text
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. Show quoted text
> > > No resource section found in file parllOZP.exe at > C:/Perl/site/lib/Win32/Exe.pm line 348. > Can't call method "remove" on an undefined value at > C:/Perl/site/lib/Win32/Exe.pm line 473. > > Best regard, > > Djibril
Le Mar 04 Mai 2010 13:47:44, MDOOTSON a écrit : Show quoted text
> Hi, > > PAR::Packer won't work as it currently doesn't know about the changes in > Win32::Exe. > > It looks like there may be some issue with your install. The line > numbers of the errors show you have Win32::Exe 0.14 installed, but I > can't see how you could get the errors using the exe_update.pl that is > installed with version 0.14. > > It should have the following code at line 109 > > if(!$exec->has_resource_section) { > die("Cannot create new resource section on this platform. Requires > Win32") if $^O !~ /^mswin/i; > $exec->create_resource_section or die("Failed to create new resource > section"); > $exec = Win32::Exe->new($exe) or die "Unable to open file $exe"; > } >
Hi, I have made another test and I think my problem was the executable as you say. If I want to update an executable as notepad.exe or pspad.exe to change the icon using exe_update.pl, it is work. But If I want to update an executable created with PAR::Packer, it is failed. You can test with attached test.exe file. Then, I think that I have to wait an update of PAR::Packer module !! Best Regards, Djibril
Subject: test.exe
Download test.exe
application/octet-stream 998k

Message body not shown because it is not plain text.

Hi, I just want tell you that now with PAR::Packer 1.009 and Win32::Exe 0.16, I don't have this problem. I am using ActivePerl 5.12.4 on Vista computer. exe_update -i "C:\icon.ico" test.exe work well but I have just a warning : format error : bad signature 0x67cb69ad at offset 3075403 in file C:\test.exe at -e line 965