使用Perl Par Packer使用自定义图标创建exe

时间:2014-03-24 10:53:22

标签: perl

我正在尝试使用自定义图标从Perl脚本创建一个exe文件。我已尝试使用这些命令

pp -i "myicon.ico" -o file.exe file.pl
pp --icon "myicon.ico" -o file.exe file.pl
pp --icon "fullpath\myicon.ico" -o file.exe file.pl

但无法解决问题。非常感谢任何建议。谢谢。

更新 这个代码     pp --gui --icon myicon.ico -o out.exe file.pl。     我有一个错误

Unknown option: icon
Binary 'myicon.ico' sure doesn't smell like perl source!
Can't locate method "maybe_command" via package "MM"

2 个答案:

答案 0 :(得分:4)

已从最新版本的PAR :: Packer中删除了选项--icon--info。根据该模块作者对CPAN bug跟踪器的评论,这些选项有时会破坏文件,因为他们委托给Win32 :: Exe,他现在希望人们直接使用Win32 :: Exe。1

这是一个方便的单行程序,用于删除默认的camel图标并从.ico文件中添加您自己的图标。如Hariboo所述,您的图标文件必须与原始驼峰图标的属性相匹配,即32x32像素。

perl -e "use Win32::Exe; $exe = Win32::Exe->new('myapp.exe'); $exe->set_single_group_icon('myicon.ico'); $exe->write;"

有关其他与图标相关的API调用,请参阅perldoc for Win32::Exe。 Win32 :: Exe附带了一个脚本exe_update.bat,但有些用户报告了损坏问题(例如在this other question中)。

如果您仍然遇到损坏的EXE,请尝试降级Archive :: Zip,然后重建PAR。

force install NEDKONZ/Archive-Zip-1.08.tar.gz
force install PAR 

我有一个单独的便携式草莓装,只是用于包装和修改PAR :: Packer的EXE。使用便携式设备时,请务必将-X Portable.pm传递给pp2

答案 1 :(得分:0)

只是添加到丹尼尔斯解决方案..

图标文件大小必须与现有的pp.ico文件匹配。这是32x32。

当使用更大或更小的东西时,我收到了签名错误。