Subject: | exe_update produces broken EXE file when ProductName/FileDescription is specified |
Date: | Fri, 25 Dec 2015 22:52:32 +0700 |
To: | bug-Win32-Exe [...] rt.cpan.org |
From: | Nutchanon Wetchasit <Nutchanon.Wetchasit [...] gmail.com> |
Hello,
I have used `exe_update` utility to add information to EXE file generated
by PAR::Packer's `pp` utility, I found that I could add ProductVersion,
and FileVersion information without problem.
But as soon as I tried to specify ProductName or FileDescription information,
I got a broken EXE file:
C:\>echo print "Hello World!\n"; 1>hello.pl
C:\>call pp -o hello.exe hello.pl
C:\>hello
Hello World!
C:\>copy /y hello.exe hello.orig.exe
1 file(s) copied.
C:\>copy /y hello.exe hello.ver.exe
1 file(s) copied.
C:\>copy /y hello.exe hello.name.exe
1 file(s) copied.
C:\>copy /y hello.exe hello.desc.exe
1 file(s) copied.
C:\>call exe_update --info ProductVersion=0.1.0 --info
FileVersion=0.1.0 hello.ver.exe
C:\>hello.ver
Hello World!
C:\>call exe_update --info ProductName=HelloWorld hello.name.exe
C:\>hello.name
The system cannot execute the specified program.
C:\>call exe_update --info "FileDescription=A common demonstration of
Perl Programming Language." hello.desc.exe
C:\>hello.desc
The system cannot execute the specified program.
C:\>call exe_update --info ProductName=HelloWorld --info
ProductVersion=0.1.0 --info FileVersion=0.1.0 --info
"FileDescription=A common demonstration of Perl Programming Language."
hello.exe
C:\>hello
The system cannot execute the specified program.
You'd see that "The system cannot execute the specified program." error
appeared when trying to execute EXE files which have ProductName and/or
FileDescription information added by exe_update. When I tried to run
these EXE files on Windows Explorer, I got an error dialog:
This application has failed to start because the application
configuration is incorrect. Reinstalling the application may fix this
problem.
Source code (hello.pl), original pp-generated EXE file (hello.orig.exe),
version-modified EXE file (hello.ver.exe), and broken EXE files
(hello.name.exe, hello.desc.exe, and hello.exe) together with test script
(test.bat) are attached as `helloworld-pp-broken.tar.xz`.
Regards,
Nutchanon Wetchasit
P.S. System information follows:
- Win32::Exe: 0.17
- PAR::Packer: 1.028
- Perl: Strawberry Perl 5.22.1.1 32-bit (portable ZIP edition)
- System: Microsoft Windows XP Professional SP3
Message body not shown because it is not plain text.