用PAL制作便携软件(三)

本文根据PortableApps.com相关文档,由mmdowns.com翻译并整理,转载请注明出处,谢谢!

便携式应用程序通过AppInfo.ini详细内容,将该应用程序的配置信息提供给PortableApps.com平台。

在AppNamePortable主目录下的App目录中,AppInfo目录包含appinfo.ini文件以及菜单中使用的所有图标。

appinfo.ini文件一般包含以下示例内容:


在appinfo.ini文件中,包含[Format]、[Details]、[License]、[Version]等区段,每个区段下面由若干参数及参数值组成,每个参数占一行,具体说明如下(注意:请勿在这些区段的参数、参数值中使用双引号):

[Format]区段:

Type=PortableApps.comFormat,是appinfo.ini的文件类型(仅PortableApps.comFormat有效)。

Version=3.5,是文件所在格式的版本(当前为3.5)。


[Details]区段:

Name=AppName Portable,是将在PortableApps.com菜单中显示的应用程序名称。

AppID=AppNamePortable,是应用程序的全局唯一ID。AppID可能包含字母,数字,句点(.),短划线(-),加号(+)和下划线(_)。其中PortableApps.com发布的应用程序以AppNamePortable格式命名;其他实体发布的应用必须以AppNamePortable-example.com格式命名,其中example.com是其官网域名;PortableApps.com上的个人发布的,且不会使其成为官方PortableApps.com版本的应用,必须以AppNamePortable-username格式命名,其中username是PortableApps.com用户名。

BaseAppName=AppName(可选),是基本应用程序的名称(如果它与启动器名称不同)。这应该仅在特定应用程序中的启动程序需要时使用。如果不需要,它应该被排除在appinfo.ini之外。

Publisher=App Developer & PortableApps.com,是应用程序发布者的名称,因为它会出现在PortableApps.com平台版本的悬停提示中以及应用程序详细信息中,所以如果您要重新打包由其他人编写的应用程序,应该列出它们。

Homepage=PortableApps.com/AppNamePortable,是所制作的便携式应用程序的主页

Donate=example.com/donate,是一个页面的URL,用于支持开发应用程序的捐赠

Category=Utilities,应用程序在PortableApps.com平台的类别。只能使用以下有效的条目的英文格式:Accessibility辅助功能, Development开发,Education教育,Games游戏,Graphics & Pictures图形和图片,Internet互联网, Music & Video音乐和视频,Office办公室,Security安全 或 Utilities公用事业。

Description=AppName Portable is a tool.,是应用程序的简要描述,最多512个字符。

Language=Multilingual,是应用程序可用的语言。如果应用程序是多语言的,则应将其指定为多语言。语言字符串必须采用以下英文格式:Afrikaans, Albanian, Arabic, Armenian, Basque, Belarusian, Bosnian, Breton, Bulgarian, Catalan, Cibemba, Croatian, Czech, Danish, Dutch, Efik, English(英文), EnglishGB, Esperanto, Estonian, Farsi, Finnish, French, Galician, Georgian, German, Greek, Hebrew, Hindi, Hungarian, Icelandic, Igbo, Indonesian, Irish, Italian, Japanese, Khmer, Korean, Kurdish, Latvian, Lithuanian, Luxembourgish, Macedonian, Malagasy, Malay, Mongolian, Norwegian, NorwegianNynorsk, Pashto, Polish, Portuguese, PortugueseBR, Romanian, Russian, Serbian, SerbianLatin, SimpChinese(简体中文), Slovak, Slovenian, Spanish, SpanishInternational, Swahili, Swedish, Thai, TradChinese(繁体中文), Turkish, Ukrainian, Uzbek, Valencian, Vietnamese, Welsh, Yoruba。

Trademarks='thing' is a trademark of XYZ Inc(可选),是商标的说明信息。例如,thing是XYZ Inc的商标。请注意,此字段中的双引号将转换为单引号。

InstallType=(可选):是您希望应用程序在菜单中列为特定安装类型。对于某些按语言打包的应用程序(如Mozilla Firefox),可以在此行中指定语言。在具有可选组件的安装程序中,安装程序会根据installer.ini中的详细信息自动更新此行。InstallType将在PortableApps.com平台上,显示在应用程序的详细信息中。


[License]区段:(所有值都为true或false,请勿在这些字段中包含双引号)

Shareable=true,是否允许将应用程序复制、传播(不包含Data目录)

OpenSource=true,是否完全开源软件

Freeware=true,是否免费软件

CommercialUse=true,是否允许在商业环境中使用该应用程序。

EULAVersion=true(可选),用于指示在您包含EULA.txt并要求用户同意安装许可时使用的最终用户许可协议的版本。如果您使用的是EULA并省略此条目,则将使用默认值1。


[Version]区段:(请勿在这些字段中包含双引号)

PackageVersion:是软件包本身的版本。这必须是1.2.3.4格式,没有其他字符,并且必须在每个公开发布时递增。

DisplayVersion:通常用于描述版本。因此,发布的应用程序可能具有2.4版本2的DisplayVersion,但是PackageVersion为2.4.0.2。


[SpecialPaths]区段(可选):

Plugins=NONE(可选),是用户添加的应用程序的插件目录的路径,如果它位于App目录中(就像Firefox之类的应用程序一样)。当安装程序计算升级需要多少可用空间时,将排除此路径。如果没有plugins目录,则应从appinfo.ini中省略此值。

[Dependencies]区段(可选):

UsesGhostscript=optional(可选),指定便携式应用程序是否使用Ghostscript Portable。如果需要,此值应设置为yes。如果不需要,应省略或设置为no。如果Ghostscript添加了可选功能但正常操作不需要,则应将此值设置为optional。

UsesJava=no(可选),指定便携式应用程序是否使用Java Portable。如果需要,此值应设置为yes。如果不需要,应省略或设置为no。如果Java添加了可选功能但正常操作不需要,则应将此值设置为optional。不推荐使用的true / false值,将被解释为yes / no。

UsesDotNetVersion=(可选),指定应用程序所需的.NET框架的最低版本。如果需要,应将此值设置为应用程序所需的最低版本(例如:1.1,2.0,3.0,3.5,4.0)。如果需要特定版本的特定Service Pack,则可以在版本号之后添加(例如:2.0SP2,3.0SP1)。如果使用4.0,则假定应用程序仅需要客户端配置文件。如果它需要完整的框架,那么可以指定为4.0F。对于可以在.NET 2.0和4.0 / 4.5上运行的应用程序,还有一个特殊值2-4,它可以在Windows Vista上通过Windows 10开箱即用。如果不需要.NET,则应省略此值。请注意,PortableApps.com目前仅接受目前在.NET 2和4上运行的应用程序,因为它们适用于所有Windows Vista和更高版本的PC。将来会添加其他.NET版本。


[Control]区段:(请勿在这些字段中包含双引号)

Icons=1,是应用程序在PortableApps.com菜单中具有的图标数

Start=AppNamePortable.exe,是执行以相对于AppNamePortable目录启动应用程序的命令行。这通常是AppNamePortable.exe。

ExtractIcon=App\AppName\AppName.exe(可选),如果AppInfo目录中的有应用程序的appicon.ico,则使用ExtractIcon(可选)。这应该仅在特定应用程序中使用,因为它会导致应用程序访问速度变慢。如果不需要,它应该被排除在appinfo.ini之外。此选项仅适用于具有单个图标的应用。

ExtractName=App\AppName\AppName.exe(可选),如果应用程序的相应名称不是appinfo.ini中指示的便携式启动器的名称,则使用ExtractName(可选)。这应该仅在特定应用程序中使用,因为它会导致应用程序访问速度变慢。如果不需要,它应该被排除在appinfo.ini之外。此选项仅适用于具有单个图标的应用。

BaseAppID=%BASELAUNCHERPATH%\App\AppName\AppName.exe(可选),是应用程序在32位系统上运行时Windows用于任务栏固定的应用程序ID。添加此项将允许平台版本16及更高版本创建可用于本地的可用快捷方式。

BaseAppID64=%BASELAUNCHERPATH%\App\AppName64\AppName.exe(可选);是应用程序在64位系统上运行时Windows用于任务栏固定的应用程序ID。添加此项将允许平台版本16及更高版本创建可用于本地的可用快捷方式。


[Associations]区段(可选):此部分允许便携式应用程序通知平台,它能够打开哪些类型的文件(文档,音频文件等)或协议(http,torrent等)。对于不需要将自己与任何文件或协议关联的应用程序,应省略此部分。

FileTypes=html,htm,xhtml,xhtm,xht,shtml(可选),是应用程序能够打开的以逗号分隔的文件类型扩展名列表。示例包括txt,html,doc等。

FileTypeCommandLine=/Open=%1(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确打开文件。%1表示文件传递的点。对于大多数只能通过将文件传递给启动器来打开文件的应用程序,FileTypeCommandLine是不必要的,应该省略。

FileTypeCommandLine-extension=/OpenExtension=%1(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确打开特定文件类型,扩展名为给定文件类型(例如:FileTypeCommandLine-html =或FileTypeCommandLine-DOC =)。%1表示文件传递的点。仅当给定应用程序针对不同文件类型具有不同的命令行并且将覆盖指示的扩展名的标准FileTypeCommandLine时,才需要FileTypeCommandLine扩展。对于大多数应用程序,这是不必要的,应该省略。

Protocols=http,https,gtp,gopher(可选),是应用程序能够处理的以逗号分隔的协议列表。示例包括http,mailto,torrent等。

ProtocolCommandLine=--protocolhandler=%1(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确打开协议。%1表示将传递文件,URL或字符串的点。

ProtocolCommandLine-protocol=--http:%1(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确打开特定协议,并且'protocol'是要打开的给定协议(例如:ProtocolCommandLine-http =或ProtocolCommandLine-洪流=)。%1表示将传递文件,URL或字符串的点。仅当给定应用程序针对不同协议具有不同的命令行并且将覆盖所指示协议的标准ProtocolCommandLine时,才需要ProtocolCommandLine协议。对于大多数应用程序,这是不必要的,应该省略。

SendTo=true(可选),设置为true时,指示是否应在Windows Send To子菜单中显示给定的应用程序。这仅适用于一小部分应用程序(例如防病毒软件),通常应省略。

SendToCommandLine=-multiplefiles "%1"(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确处理SendTo命令中发送的任何内容。%1表示文件/路径将被传递的点。

Shell=true(可选),设置为true时,表示给定的应用程序是否应作为Windows shell提供。这仅适用于非常具体的,通常应该省略。

ShellCommand=/idlist,%I,%L(可选),是一个命令行参数,应该传递给AppNamePortable.exe启动程序,以便应用程序正确处理Windows发送给shell的%I和%L变量。


[FileTypeIcons]区段(可选):此部分允许便携式应用程序为应用程序可以处理的任何文件类型定义自定义图标,这些文件类型在前面描述的[Associations]部分中列出。只有未在PortableApps.com平台中内置的文件类型才需要此部分。内置文件类型和类别如下:

对于不在该列表上的文件类型,[FileTypeIcons]应该包含每个需要关联自定义图标的文件类型的一个条目。每个条目可以设置为上面的类别(archive存档,audio音频,calendar日历等),'app'表示应该使用便携式应用程序的主图标,或'custom'表示相关图标将包含在App \ AppInfo \下FileTypeIcons目录中,如下面的图标部分所述。[Associations]部分中包含的,但未由平台定义或此处列出的任何关联文件类型,将默认为“app”图标。

[FileTypeIcons]

swf=video,文件类型swf将具有用于其文件的平台内置视频图标

ttp=custom,文件类型ttp将包含自定义图标在App \ AppInfo \ FileTypeIcons目录中。

qwe=app,文件类型sqe将具有用于其文件的应用程序的主appicon.ico图标

AllOtherIcons=image,用作所有与应用程序关联但未由平台或FileTypeIcons部分定义的任何图标。对于像图像查看器这样的应用程序来说,它可以支持数百种不常见的图像格式,而无需为每种格式写出条目,或者必须使用应用程序的主图标。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容