我正在尝试使用自定义图标从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"
答案 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
传递给pp
。2
答案 1 :(得分:0)
只是添加到丹尼尔斯解决方案..
图标文件大小必须与现有的pp.ico文件匹配。这是32x32。
当使用更大或更小的东西时,我收到了签名错误。