Windows 8.1 在清单的打包部分引入了一项新功能,称为“生成应用程序包”。它说“如果您的应用程序包含特定于语言的资源、各种图像比例或适用于特定 DirectX 版本的资源,请考虑生成一个应用程序包。如果您不生成一个,您的应用程序将运行得很好,但是用户必须下载更大的应用程序。有关应用程序包的更多信息,请参阅应用程序打包。
但用户可以随时更改他们的语言或在各种不同的显示器上运行应用程序,而无需重新安装应用程序。那么这个功能是如何工作的,它在做什么呢?
Windows 8.1 在清单的打包部分引入了一项新功能,称为“生成应用程序包”。它说“如果您的应用程序包含特定于语言的资源、各种图像比例或适用于特定 DirectX 版本的资源,请考虑生成一个应用程序包。如果您不生成一个,您的应用程序将运行得很好,但是用户必须下载更大的应用程序。有关应用程序包的更多信息,请参阅应用程序打包。
但用户可以随时更改他们的语言或在各种不同的显示器上运行应用程序,而无需重新安装应用程序。那么这个功能是如何工作的,它在做什么呢?
基本上,应用程序包被分成模块化块。您使用的每个库都被拆分为其组件 dll。对于每种语言,语言资源也被分成不同的块。
这做了几件事。例如,假设您有两个游戏,BlackJack 和 Spades。它们都使用相同的基本引擎,具有相同的图像和基本游戏逻辑。所有这些都包含在您的“BaseCardGame”库中。在捆绑包中,它将保留 BaseCardGame 库的日志并将其包含在捆绑包中。现在,假设您有一个用户下载了这两个应用程序(如您所愿)。捆绑包显示“我需要带有 XXXXX 签名的 BaseCardGame 库”。你的系统说“我已经有了,所以把我没有的其他东西捆绑起来。” 因此,您的用户只需下载该软件包一次。
语言资源也是如此。如果他们只在系统中添加了法语和意大利语,那么他们不太可能需要乌克兰语信息。因此,他们不必下载它。注意:不必是他们当前设置的语言,只要是他们添加到系统中的语言即可。如果他们随后添加新语言,系统将去获取具有它们的应用程序的语言包。
这都是高级别的,但描述了捆绑系统的基础知识。第 9 频道有很多不错的视频。