用于软件设置的语言中立和语言专用安装包的制作方法

文档序号:6650921阅读:201来源:国知局
专利名称:用于软件设置的语言中立和语言专用安装包的制作方法
技术领域
本发明涉及软件程序和软件程序的分发,尤其涉及用于软件设置的语言中立和语言专用安装包。
背景技术
许多公司具有位于遍及全球的各种位置处的办公室。结果,公司的职员说各种各样的语言。这一情况造成了对公司使用的计算机的各种要求,通常要求计算机以各种不同的语言来呈现用户界面。例如,在美国或英国,可以显示用于文字处理程序的英语用户界面,而在法国,可以显示用于同一文字处理程序的法语用户界面。
这种情况对于软件开发者而言是成问题的,因为他们需要跨各种各样的产品支持这各种各样的用户界面。例如,软件开发者可设计并营销文字处理程序、电子表格程序、数据库程序、消息通信和协作程序、绘图程序、演示程序以及包括这些程序的各种组合的多个程序套件。给定不同程序的数目以及可以在不同套件中提供的这些程序的组合,可得到软件产品的极其大量的不同版本,每一个被定制成特定的语言和一个或多个应用程序的组合。这导致需要由软件开发者创建和测试极其大量的软件产品。当软件程序允许在同一目标计算机上安装多种语言时(例如,对于期望使用程序的法语和英语语言版本两者的用户),这一数目显著增加,造成需要由软件开发者创建和测试的更大数量的软件产品。
对这一问题的一种解决方案是选择一种语言作为基础语言,诸如英语,并总是首先安装该基础语言。之后安装各种其它语言,在适当时覆盖或追加到基础语言版本的适当部分。这减少了需要由软件开发者创建和测试的软件产品的数目。由此,如果用户期望安装一套应用程序的法语版本,他或她首先安装该套应用程序的英语语言版本,然后在该英语语言版本上安装法语语言版本。这可导致法语语言版本替代(覆盖)英语语言版本,或者法语语言版本与英语语言版本共存(被追加到英语语言版本)。然而,这一解决方案可能是易出故障的,因为在一种语言上安装另一种语言会导致所得的产品中偶尔会显示某些基础语言界面而非覆盖的语言的典型结果。这些典型结果也基于安装版本的顺序而改变。例如,如果英语是基础语言,而法语语言版本被安装在英语语言版本之上,然后在英语语言和法语语言版本上安装德语语言版本,则典型结果最终将与在英语语言版本上安装德语语言版本然后在英语和德语语言版本上安装法语语言版本的典型结果不同。
当使软件补丁对软件程序可用时,会产生附加的问题。这些软件补丁通常提供了附加的功能或特征,和/或在软件程序中找到的纠正问题或错误。通常,对应用程序的每一可能组合以及用户可能使用的语言需要不同的软件补丁,导致软件开发者分发包括用于这些众多可能组合的每一个的补丁的正确指令的单个软件补丁,这将导致分发非常大的软件补丁。另一可能性是软件开发者分发个别的软件补丁,每一个以众多可能组合的特定一个为目标,并且要求最终用户了解他们需要哪一补丁。这会导致在选择大量个别补丁的正确的一个时对最终用户一方要求附加的努力和/或知识。

发明内容
此处描述了用于软件设置的语言中立和语言专用安装包。
依照某些方面,为程序创建用于第一组文件的第一安装包。该第一组文件包括用于程序的语言中立文件,但是不包括用于该程序的语言专用文件。也为该程序创建用于第二组文件的第二安装包。该第二组文件包括用于该程序的语言专用文件。
依照其它方面,第一和第二安装包可被储存在一个或多个分发介质中,用于随后安装到目标计算机上。也可创建用于附加的语言专用文件组的附加的安装包,并将其储存在一个或多个分发介质上。


贯穿本文档,相同的标号引用相同的组件和/或特征。
图1是示出分发介质的生成的示例的框图。
图2是示出其中可使用此处所描述的用于软件设置的语言中立和语言专用安装包的示例环境的框图。
图3是示出用于创建具有语言中立和语言专用包的分发介质的示例过程的流程图。
图4是示出对安装包的重用的框图。
图5示出了储存在分发介质上的安装包的示例。
图6示出了其中可使用此处所描述的用于软件设置的语言中立和语言专用安装包的通用计算机环境。
具体实施例方式
此处描述了用于软件设置的语言中立和语言专用安装包。这些包将用于软件程序的全局文件与来自用于软件程序的本地化文件的单独安装包相关联。全局文件是语言中立文件,而本地化文件是对特定语言专用的文件。生成用于全局文件的安装包以及用于不同语言的本地化文件。然后可生成分发介质以包括全局文件安装包以及一个或多个本地化文件安装包。
图1是示出分发介质的生成的示例的框图。分发介质将用于设置程序(也称为安装程序)的安装包储存在目标计算机上。程序可以是各种不同程序中的任一种,诸如生产力程序(例如,文字处理程序、电子表格程序、数据库程序、绘图程序等)、参考程序(例如,字典程序、百科全书程序等)、教育程序、游戏或其它娱乐程序等等。如下文更详细讨论的,程序可被本地化成各种不同的语言,如英语、法语、德语、西班牙语、日语、汉语、土耳其语等等。
用于软件程序或应用程序的程序文件102被组合成一个或多个全局文件的集合104、用于第一语言的一个或多个本地化文件的集合106、用于第二语言的一个或多个本地化文件的集合108、以及用于第三语言的一个或多个本地化文件的集合110。可以理解,尽管在图1中示出了三个本地化文件集合,然而可以在程序文件102中包括附加的本地化文件的集合,以支持附加的语言。此外,如果期望少于三种语言,则可在程序文件102中包括更少的本地化文件集合。
也可理解,尽管在图1中示出了用于单个程序的程序文件102,可对附加的程序包括被组合成全局文件和用于不同语言的不同本地化文件的类似的程序文件集合。另外,用于多个不同程序的程序文件可被组合在一起作为一个程序套件。例如,用于作为同一套程序的部分的若干不同程序的所有全局文件可被组合在一起成为单个文件集合。
全局文件104是用于程序的语言中立文件。语言中立文件通常包括可执行二进制文件或可被编译和执行以运行该程序的指令文件。语言中立文件也可包括由程序在运行时使用的配置数据。不论运行该程序的哪一语言版本,语言中立文件是相同的。例如,对于程序的英语版本、程序的法语版本、程序的日语版本等,语言中立文件都是相同的。
另一方面,本地化文件106、108和110的每一个包括被本地化成特定语言的语言专用文件。例如,本地化文件106可以是英语语言文件,而本地化文件108可以是日语语言文件,本地化文件110可以是法语语言文件。本地化文件是基于要运行程序的哪一语言版本而变化的用于程序的文件,从而允许程序的用户以其选择的语言与程序交互。例如,本地化文件可包括帮助文件,该帮助文件包括用于显示给程序的用户的帮助信息的数据。例如,本地化文件也可包括标识诸如工具栏、菜单、对话框、显示图标等用户界面显示元素的配置文件。例如,本地化文件还可包括要与该程序一起使用的模板和样本文档。
分别为文件集合104、106、108和110的每一个创建对应的单独安装包114、116、118和120。安装包114对应于全局文件104,安装包116对应于本地化文件106,安装包118对应于本地化文件108,安装包120对应于本地化文件110。每一安装包114、116、118和120包括关于其对应的文件如何被安装在目标计算机上从而使得程序在目标计算机上正确运行的指令。这些指令由安装该程序的目标计算机上的应用程序安装程序访问和执行。
可设计安装包,使得应用程序安装程序要安装该程序所需的所有信息(除用户提供的配置信息外)都被包括在安装包中。或者,应用程序安装程序要安装该程序所需的某些信息可被包括在安装包外部但与其相关联的文件中。对何处和获得与特定安装包相关联的特定文件的指示可被包括在特定的安装包中,或者特定文件可被储存在遵循目标计算机上的应用程序安装程序已知的特定约定或技术的位置处。
各种不同类型的指令可被包括在安装包114、116、118和120中。例如,安装包可包括指示在安装期间要将对应文件的特定几个储存在目标计算机的哪些目录或文件夹中的指令。作为另一示例,安装包可包括指示要在目标计算机上创建的快捷方式的指令。作为又一示例,安装包可包括关于要向用户呈现并由其接受以安装该程序的许可协议的指令。作为再一示例,可压缩用于该程序的文件,并且安装包可包括指示压缩了哪些文件以及如何解压它们的指令。作为还有一个示例,可能需要在安装过程中向应用程序安装程序提供各种配置信息,并且可以在安装包中标识需要什么配置信息。例如,配置信息可以是对程序应当安装到目标计算机上的什么目录或文件夹的指示、对程序的多个组件中的哪一些应被安装的指示、用户注册信息(诸如名字、地址、电话号码、电子邮件地址等)等等。可向用户呈现对需要什么信息的提示,并且用户可手动输入他或她的选择。或者,可由用户(诸如系统管理员)生成自动向应用程序安装程序提供该信息的脚本文件。
安装包114、116、118和120的每一个也可包括其对应的文件集合104、106、108和110。在某些情况下,在文件被包括在安装包中之前压缩文件,然后作为安装过程的一部分解压文件。各种压缩算法中的任一种都可用于压缩文件。通常在压缩文件时使用无损压缩算法,尽管在某些情况下(诸如当压缩图像或其它视频数据时)也可替代地使用有损压缩算法。对于如何解压文件,如要使用哪一解压算法的指示可以被包括在对应的安装包中,或者可以是目标计算机上的应用程序安装程序已知的。
或者,对应的文件集合可与安装包分开储存,而非在安装包114、116、118和120中包括对应的文件集合。例如,每一安装包可被储存为一个文件,而每一对应的文件集合可被储存为单独的文件。如果与安装包分离地储存文件集合,则文件集合仍与安装包相关联。对可从何处获取文件的指示被包括在安装包内,或者文件可被储存在遵循目标计算机上的应用程序安装程序已知的特定约定或技术的位置处。例如,文件集合可被压缩,并作为单个文件储存在与安装包相同的目录中。
也可在安装包中包括附加的元数据。该元数据可描述例如安装的程序、安装的文件、安装包本身等等。或者,这一元数据可类似于上述文件集合那样被单独存储,但仍可由应用程序安装程序访问,而非包括在安装包中。同样类似于上述文件集合,元数据可任选地被压缩,安装包或目标计算机上的安装程序中的任一个知道如何解压所压缩的元数据。
经常用于在Microsoft Windows操作系统下安装的程序的安装包的一个特定示例被称为“.msi”或“MSI”文件。关于如何安装对应的程序文件的指示被包括在.msi文件中。文件集合被压缩并被包括在称为“.cab”或“CAB”文件的文件中。也可包括一个或多个XML(可扩展标记语言)文件,其每一个储存用于安装包的元数据。
安装包114、116、118和120然后可被储存在一个或多个分发介质124、126和128上。安装包114、116、118和120的不同组合可被储存在不同的分发介质上,导致不同的分发介质具有为不同的语言本地化的文件。然而,这些不同组合中的每一个将包括与语言中立文件104相同的安装包114。
分发介质124包括安装包114和116,因此分布在分发介质124上的程序被本地化成本地化文件106的语言。分发介质126包括安装包114和118,因此分布在分发介质126上的程序被本地化成本地化文件108的语言。分发介质128包括安装包114、116和120,因此分布在分发介质126上的程序被本地化成本地化文件106和110的语言。
图1中示出了三个分发介质。可以理解,可以创建为四种或更多不同语言或语言组合本地化的四个或更多分发介质。类似地,可以理解,可以仅创建为一种或两种语言或语言组合本地化的一个或两个分发介质。
也可以理解,通常可以做出同一分发介质的多个副本。例如,如果本地化文件106被本地化成英语语言,则储存对英语语言定制的程序的分发介质124可做出并分发成百上千或成千上万的副本。
各种不同类型的介质可用做分发介质124、126和128。分发介质可以是任一类型的计算机可读介质,诸如光盘(例如,CD或DVD)、可移动磁盘(例如,软盘或Iomega Zip盘)、其它磁盘(例如,计算机或服务器中的硬盘)、固态存储器(例如,小型闪存(Compact Flash)卡、便携式USB闪存设备、安全数字(SD)卡等)等等。分发介质可以本地位于与安装包相同的系统上,或者可位于远离储存了安装包的系统的地方。例如,分发介质可以位于服务器或可通过网络访问的其它计算机上。另外,安装包的同一组合可被放置在多个不同类型的介质上。例如,安装包114和118都可以被放置在CD、DVD以及磁盘上。
在某些情况下,取决于分发介质的存储容量以及安装包的大小,用于单个程序的安装包可能需要跨多个分发介质分布。例如,全局安装包和英语语言本地化安装包可能足够大,以至于它们需要两张CD来储存,或者仅需要一张DVD来储存。
图2是示出其中可使用此处所描述的用于软件设置的语言中立和语言专用安装包的示例环境160的框图。环境160包括具有存储设备164的计算机162。存储设备164包括用于软件程序的多个(x)安装包166、168和170。安装包166、168和170之一包括用于软件程序的全局文件或与该全局文件相关联,而剩余的安装包166、168和170将包括用于软件程序的特定语言的本地化文件或与该本地化文件相关联。尽管图2中所有的安装包166、168和170被示为储存在作为计算机162的一部分的同一存储设备164上,然而可选地,一个或多个安装包166、168和170(可能包括所有的安装包166、168和170)可被储存在作为计算机162的一部分或与计算机162相分离的不同的存储设备上,诸如通过网络耦合到计算机162的服务器计算机上的存储设备、安装包166、168和170的各种组合可被储存在多个分发介质172上。分发介质172的每一个将在其上储存包括用于软件程序的全局文件或与该全局文件相关联的安装包,以及包括用于软件程序的特定语言的本地化文件或与该本地化文件相关联的至少一个其它安装包。分发介质172通常包括具有安装包的同一组合的多个副本。
然后使分发介质172对多个(y)目标计算机174、176和178可用。目标计算机174、176和178中不同的几个可使用不同的分发介质172,或者目标计算机174、176和178中的两个或多个可共享单个分发介质。运行目标计算机174、176和178的每一个上的应用程序安装程序以从分发介质172上的安装包安装软件程序。
应当注意,可由目标计算机174、176或178从多个不同的分发介质172获得不同的安装包。例如,可通过购买其上储存对应的安装包的CD来获得语言中立文件和用于软件程序的英语语言版本的本地化文件,而可通过购买不同的CD或通过从因特网上(或某一其它网络上)的服务器下载对应于西班牙语语言文件的安装包来获得用于该软件程序的西班牙语语言版本的本地化文件。
图3是示出用于创建具有语言中立和语言专用包的分发介质的示例过程200的流程图。例如,过程200是由诸如图2的计算机162等计算机来执行的。过程200可以用软件、固件、硬件或其组合来实现。
最初,创建用于软件程序的语言中立文件集合的第一安装包(动作202)。另外,对于该软件程序所支持的每一语言,为用于该语言的语言专用文件创建附加的安装包(动作204)。如上所述,安装包可包括例如关于如何安装对应的程序文件的指令、对应的文件集合和元数据。
每一文件集合中的特定文件可以用不同的方式来标识。通常,软件程序设计者将其程序设计为共同操作来执行程序的期望功能的多个不同组件。这些组件包括,例如二进制文件或其它可执行指令集、库(诸如动态链接库(DLL))、配置数据等等。软件程序设计者通常设计不同的组件以包括对它们预期支持的不同语言的不同支持。例如,支持英语语言的程序的帮助功能的数据可以是一个组件,支持法语语言的程序的帮助功能的数据可以是另一组件,支持日语语言的程序的帮助功能的数据可以是另一组件等等。
作为每一文件集合的一部分的特定文件可以基于软件程序的这些不同组件。例如,软件程序的设计者可以诸如通过生成特定组件以及每一组件属于哪一文件集合的列表来标识哪些组件要包括在哪些文件集合中。作为另一示例,软件程序的设计者可使用特定的命名约定,诸如用于语言中立文件以及用于本地化文件的不同语言的每一种的不同文件名扩展。作为又一示例,软件程序的设计者可以将语言中立文件以及用于每一不同语言的本地化文件储存在不同的位置中,诸如不同的目录或文件夹。目录或文件夹名本身或某一其它清单可指示哪一目录或文件夹储存用于哪些文件集合的文件。
然后选择第一安装包和一个或多个附加的安装包(动作206)。选择附加安装包中的哪一个或多个是基于对所创建的分发介质的期望的语言支持而改变的。可以接收标识要支持哪一语言的用户选择,或者可以自动化该选择。例如,过程200可以重复动作206多次,每次选择附加语言安装包的不同的一个或多个。
然后将在动作206选择的安装包以及与该安装包相关联的文件(诸如对应的文件集合)保存在一个或多个分发介质上(动作208)。如上所述,分发介质可以是各种计算机可读介质中的任一种。过程200可任选地重复动作206和208多次,以生成其上储存不同的安装包的不同分发介质。
应当注意,过程200不包括对所有分发介质上包括相同的本地化语言的要求。包括在不同分发介质上的特定语言可以改变,没有需要首先被安装在需要在其上安装其它本地化文件的目标计算机上的跨所有分发介质的公共基础语言。相反,附加的安装包的任一个或组合可被包括在分发介质上。
另外,应当注意,与每一软件程序相关联的相同的安装包可用于创建具有不同的软件程序集合的不同分发介质。图4是示出对安装包的重用的框图。
在图4中,示出了文字处理软件应用程序240和电子表格软件应用程序242。先前为文字处理应用程序240创建了三个安装包,安装包244对应于用于应用程序240的语言中立文件,安装包246对应于用于应用程序240的英语语言本地化文件,安装包248对应于用于应用程序240的法语语言本地化文件。先前也为电子表格应用程序242创建了三个安装包,安装包252对应于用于应用程序242的语言中立文件,安装包254对应于用于应用程序242的英语语言本地化文件,安装包256对应于用于应用程序242的法语语言本地化文件。
可创建包括安装包244、246和248的第一分发介质260。分发介质260因此可用于以英语和/或法语语言安装文字处理应用程序。可创建包括安装包252和256的第二分发介质262。分发介质262因此可用于以法语语言安装电子表格应用程序。还可创建包括安装包244、248、252和256的第三分发介质264。分发介质264因此可用于以法语语言安装包括文字处理应用程序和电子表格应用程序两者的一套应用程序。
尽管图4示出了对两个应用程序重用安装包的示例,然而可以理解,也可创建包括用于三个或更多应用程序的安装包的其它分发介质。
或者,可将对应的文件收集在一起并作为同一安装包的一部分,而非对两个应用程序具有两个单独的语言中立全局安装包244和252。
应当注意,此处所讨论的语言中立和语言专用安装包可导致可发送给用户的软件补丁大小的减小。这些补丁是在安装应用程序的目标计算机上执行的指令,用于例如向应用程序添加新特征、纠正应用程序中发现的问题或难题等等。例如,假定要使补丁对文字处理应用程序240的用户可用,以纠正在应用程序240的全局文件之一中发现的问题。该补丁可包括单独的指令集,以及可能与那些指令相关联的数据,执行这些指令以纠正该问题。同一补丁可用于文字处理应用程序240的所有版本,而不管它们是应用程序240的独立版本还是作为更大的应用程序套件的一部分。此外,同一补丁可用于文字处理应用程序240,而不管应用程序的特定副本被本地化成哪一语言。应用程序240的所有不同本地化版本依赖于与安装包244相关联的相同语言中立文件。
图5示出了储存在分发介质上的安装包的一个示例。分发介质300储存用于安装Microsoft Office应用程序套件的安装包。第一文件夹(通常是分发介质300的根文件夹或目录)包括第一组文件夹和文件302。“Autorun.INF”文件包括指令,使得分发介质300可以自动运行安装程序应用程序(“Setup.exe”程序),以当分发介质300被插入到驱动器或用其它方式耦合到计算机时开始安装过程。该组302中的其它文件包括支持“Setup.exe”程序并可在安装过程中使用的文件。
在图5所示的示例中,Microsoft Office应用程序套件的示例版本包括Microsoft Access、Microsoft Excel、Microsoft Outlook消息通信和协作客户端、Microsoft PowerPoint演示图形程序、Microsoft Publisher以及MicrosoftWord。
在图5所示的示例中,对Microsoft Office应用程序套件中的所有应用程序(除校对工具外,该工具将在下文详细讨论)包括单个安装包,而非对作为Microsoft Office应用程序套件的一部分的每一应用程序具有每一语言中立文件集合的单独的安装包。被扩展为文件夹304以示出其内容的“Pro WW”文件夹包括用于Microsoft Office的这一版本中的每一应用程序的语言中立全局文件。在文件夹304中,文件“ProWW.msi”是安装包,文件“ProWW.cab”和“OfficeWW.CAB”是对应的语言中立文件集合(以压缩的形式),而“setup.xml”和“ProWW.xml”文件储存用于安装Microsoft Office的元数据。
不同的文件夹被包括在该组302中,用于将包括在Microsoft Office应用程序套件的该版本中的不同应用程序的每一个本地化成英语语言。这些文件夹通过包括“en-US”扩展名来指示。由此,在本示例中,即使语言中立文件是单个安装包的一部分,但语言专用本地化文件是单独的安装包。或者,两个或更多语言专用本地化文件可被包括在单个安装包中。
这些文件夹之一“Excel.en-US”文件夹被扩展为文件夹306,以示出其内容。在文件夹306中,文件“ExcelMUI.msi”是用于Microsoft Excel的英语语言本地化的安装包,文件“ExcelMUI.cab”是对应的语言专用文件集合(以压缩的形式),“setup.xml”和“ExcelMUI.xml”文件储存了用于安装Microsoft Excel的语言专用文件的元数据。
这些文件夹的另一个“Office.en-US”被扩展为文件夹308以示出其内容。文件夹308包括用于Microsoft Office应用程序套件的校对工具的安装数据包,校对工具诸如拼写检查器、语法检查器、连字符连接器、辞典等等。在所示的示例中,各种校对工具作为同一安装数据包的一部分或与其相关联地包括在内。或者,不同的校对工具可作为不同的安装数据包的一部分或与其相关联地包括在内。在Microsoft Office的这一版本中,包括了用于英语、西班牙语和法语的校对工具。文件“OfficeMUI.msi”是用于这些校对工具的安装包,用于英语、西班牙语和法语语言的每一个的语言专用本地化文件作为文件夹308的单独子文件夹被包括在内(“Proof.en”用于英语语言文件、“Proof.es”用于西班牙语文件、“Proof.fr”用于法语语言文件)。文件“OfficeMUI.cab”是用于校对工具的对应的语言中立文件集合,“setup.xml”和“OfficeMUI.xml”文件储存用于安装校对工具的元数据。
“Proof.en”文件夹被扩展为文件夹310以示出其内容。在文件夹310中,文件“Proof.msi”是用于校对工具的英语语言本地化的安装包,文件“Proof.cab”是对应的语言专用文件集合(以压缩的形式),文件“Proof.xml”储存用于安装校对工具的语言专用文件的元数据。
图6示出了其中可使用此处所描述的用于软件设置的语言中立和语言专用安装包的通用计算机环境400。计算机环境400仅为计算环境的一个示例,并非对该计算机和网络架构的使用范围或功能提出任何局限。也不应将计算机环境400解释为对示例性计算机环境400中示出的任一组件或其组合具有任何依赖或需求。
计算机环境400包括计算机402形式的通用计算设备。计算机402可以是例如图2的计算机162。计算机402的组件可包括但不限于,一个或多个处理器或处理单元404、系统存储器406以及将包括处理器404的各类系统组件耦合至系统存储器406的系统总线408。
系统总线408表示若干种总线结构类型的一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各类总线体系结构的处理器或局部总线。作为示例,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机402通常包括各种计算机可读介质。这类计算机可读介质可以是可由计算机402访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器406包括诸如随机存取存储器(RAM)410等易失性存储器,和/或诸如只读存储器(ROM)412等非易失性存储器形式的计算机存储介质。基本输入/输出系统(BIOS)414包括如在启动时帮助在计算机402内的元件之间传输信息的基本例程,被储存在ROM 412中。RAM 410通常包含处理单元404立即可访问或者当前正在操作的数据和/或程序模块。
计算机402也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。作为示例,图6示出了对不可移动、非易失性磁介质(未示出)进行读写的硬盘驱动器416、对可移动、非易失性磁盘420(如,“软盘”)进行读写的磁盘驱动器418以及对可移动、非易失性光盘424,如CD-ROM、DVD-ROM或其它光学介质进行读写的光盘驱动器422。硬盘驱动器416、磁盘驱动器418和光盘驱动器422的每一个通过一个或多个数据介质接口425连接到系统总线408。或者,硬盘驱动器416、磁盘驱动器418和光盘驱动器422可通过一个或多个接口(未示出)连接到系统总线408。其它计算机存储介质也可作为计算机402的一部分包括在内,诸如耦合到计算机402的USB闪存设备。
盘驱动器及其相关联的计算机可读介质为计算机402提供了计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。尽管示例示出了硬盘416、可移动磁盘420和可移动光盘424,然而可以理解,可储存可由计算机访问的数据的其它类型的计算机可读介质,如盒式磁带或其它磁存储设备、闪存卡、CD-ROM、数字多功能盘(DVD)或其它光学存储、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)等,也可用于实现示例性计算系统和环境。
任何数量的程序模块可储存在硬盘416、磁盘420、光盘424、ROM 412和/或RAM 410中,作为示例,包括操作系统426、一个或多个应用程序428、其它程序模块430以及程序数据432。这些操作系统426、一个或多个应用程序428、其它程序模块430和程序数据432(或其组合)的每一个可实现支持分布式文件系统的常驻组件的所有或部分。
用户可以通过诸如键盘434和定位设备436(如,“鼠标”)等输入设备向计算机402输入命令和信息。其它输入设备438(未具体示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪和/或其类似物。这些和其它输入设备通常通过耦合至系统总线408的输入/输出接口440连接到处理单元404,但也可以通过其它接口和总线结构连接,如并行端口、游戏端口、通用串行总线(USB)或火线(IEEE 1394)总线。
监视器442或其它类型的显示设备也通过接口,如视频适配器444连接到系统总线408。除监视器442之外,其它输出外围设备可包括诸如扬声器(未示出)和打印机446等组件,它们可通过输入/输出接口440连接到计算机402。
计算机402可以使用到一个或多个远程计算机,如远程计算设备448的逻辑连接在网络化环境中操作。作为示例,远程计算设备可以是个人计算机、服务器、路由器、网络计算机、对等设备或其它普通网络节点等等。远程计算设备448被示出为可包括此处相对于计算机402所描述的许多或所有元件和特征的便携式计算机。
计算机402和远程计算机448之间的逻辑连接被描述为局域网(LAN)450和通用广域网(WAN)452。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中实现时,计算机402通过网络接口或适配器454连接至局域网450。当在WAN网络环境中使用时,计算机402通常包括调制解调器456或用于通过广域网452建立通信的其它装置。调制解调器456可以对计算机402是内置或外置的,通过输入/输出接口440或其它适当的机制连接至系统总线408。可以理解,示出的网络连接是示例性的,也可以使用在计算机402和448建立通信链路的其它装置。
在诸如用计算环境400示出的网络化环境中,相对于计算机402描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例,远程应用程序458驻留在远程计算机448的存储器设备中。为说明目的,应用程序和诸如操作系统等其它可执行程序组件在此处被示出为离散的框,尽管可以认识到,这些程序和组件在不同的时刻驻留在计算设备402的不同存储组件中,并由计算机的数据处理器执行。
各种模块和技术可在诸如由一个或多个计算机或其它设备执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能可以如各实施例中所需的组合或分布。
这些模块和技术的一种实现可以被储存在某一形式的计算机可读介质上或通过其发送。计算机可读介质可以是可由计算机访问的任何可用介质。作为示例而非局限,计算机可读介质可包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机访问的任一其它介质。
“通信介质”通常具体化为诸如载波或其它传输机制的已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据。通信介质也包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
尽管以上描述使用了对结构特征和/或方法动作专用的语言,然而可以理解,所附权利要求书中定义的本发明不限于所描述的具体特征或动作。相反,揭示了具体特征和动作作为实现本发明的示例性形式。
权利要求
1.一种方法,包括为程序创建用于第一组文件的第一安装包,所述第一组文件包括用于所述程序的语言中立文件,但不包括用于所述程序的语言专用文件;以及为所述程序创建用于第二组文件的第二安装包,所述第二组文件包括用于所述程序的语言专用文件。
2.如权利要求1所述的方法,其特征在于,还包括为所述程序创建用于多个附加文件组的多个附加安装包,所述多个附加文件组的每一个包括用于所述程序的附加语言专用文件。
3.如权利要求2所述的方法,其特征在于,所述第二安装包中的文件将所述程序本地化成一种语言,并且所述多个附加安装包的每一个中的文件将所述程序本地化成多种不同语言中的一种。
4.如权利要求1所述的方法,其特征在于,还包括将所述第一安装包和所述第二安装包储存在单个分发介质上。
5.如权利要求4所述的方法,其特征在于,还包括为所述程序创建用于第三组文件的第三安装包,所述第三组文件包括用于所述程序的附加本地化文件,所述附加本地化文件将所述程序本地化成与所述第二组文件不同的语言,以及将所述第三安装包储存在第二分发介质上。
6.如权利要求1所述的方法,其特征在于,创建所述第一安装包包括为包括所述程序的多个程序的套件创建所述第一安装包,所述第一组文件包括用于所述多个程序的套件中的每一程序的语言中立文件,但不包括用于所述多个程序的套件中的任一个的语言专用文件。
7.如权利要求1所述的方法,其特征在于,所述第二组文件中没有一个需要被本地化成英语语言。
8.如权利要求1所述的方法,其特征在于,创建所述第一安装包包括将所述第一组文件包括在所述第一安装包中,并且创建所述第二安装包包括将所述第二组文件包括在所述第二安装包内。
9.一个或多个其上储存多个指令的计算机可读介质,当所述指令由计算机的一个或多个处理器执行时,使所述一个或多个处理器仅将用于程序的语言中立文件与第一安装包相关联;将用于所述程序的第一语言专用文件集合与第二安装包相关联;将用于所述程序的第二语言专用文件集合与第三安装包相关联;以及将所述第一安装包以及所述第二安装包和所述第三安装包中的一个或两者保存在一个或多个分发介质上。
10.如权利要求9所述的一个或多个计算机可读介质,其特征在于,所述多个指令还使所述一个或多个处理器将所述语言中立文件作为第一压缩文件保存在所述一个或多个分发介质上与所述第一安装包相同的文件夹中,将所述第一语言专用文件集合作为第二压缩文件保存在所述一个或多个分发介质上与所述第二安装包相同的文件夹中,以及将所述语言专用文件的第二集合作为第三压缩文件保存在所述一个或多个分发介质上与所述第三安装包相同的文件夹中。
11.如权利要求9所述的一个或多个计算机可读介质,其特征在于,所述程序是程序套件的一部分,所述多个指令还使所述一个或多个处理器为作为所述程序套件的一部分的第二程序仅将用于所述第二程序的语言中立文件与第四安装包相关联,以及为所述第二程序将用于所述第二程序的语言专用文件集合与第五安装包相关联。
12.如权利要求9所述的一个或多个计算机可读介质,其特征在于,所述程序是多个程序的套件的一部分,所述多个指令还使所述一个或多个处理器仅将用于所述程序的语言中立文件以及用于所述多个程序的任何其它程序的语言中立文件与所述第一安装包相关联。
13.如权利要求9所述的一个或多个计算机可读介质,其特征在于,所述多个指令还使所述一个或多个处理器在所述第一安装包中包括用于所述程序的语言中立文件,在所述第二安装包中包括所述第一语言专用文件集合,以及在所述第三安装包中包括所述第二语言专用文件集合。
14.一种计算机可读介质,所述计算机可读介质上储存有用于程序的语言中立文件集合,但其中没有语言专用文件,第一安装包,它与所述语言中立文件集合相关联,且是至少部分地基于所述语言中立文件集合中的文件如何被安装到目标计算机上而生成的,用于所述程序的语言专用文件集合,以及第二安装包,它与所述语言专用文件集合相关联,且是至少部分地基于所述语言专用文件集合中的文件如何被安装到所述目标计算机上而生成的。
15.如权利要求14所述的计算机可读介质,其特征在于,所述语言中立文件集合作为第一文件被储存在所述计算机可读介质上,且所述语言专用文件集合作为第二文件被储存在所述计算机可读介质上。
16.如权利要求14所述的计算机可读介质,其特征在于,所述语言中立文件集合被包括在所述第一安装包中。
17.如权利要求14所述的计算机可读介质,其特征在于,还包括用于所述程序的多个附加语言专用文件集合,以及多个附加安装包,其每一个与所述多个附加语言专用文件集合中的一个相关联,且是至少部分地基于所述多个附加语言专用文件集合之一中的文件如何被安装到所述目标计算机上来生成的。
18.如权利要求17所述的计算机可读介质,其特征在于,每一语言专用文件集合将所述程序本地化成一不同的语言。
19.如权利要求14所述的计算机可读介质,其特征在于,所述程序是程序套件的一部分,且所述计算机可读介质还包括用于作为所述程序套件的一部分的第二程序的语言中立文件集合,但其中没有语言专用文件,第三安装包,它与用于所述第二程序的语言中立文件的集合相关联,且是至少部分地基于用于所述第二程序的语言中立文件集合中的文件如何被安装到所述目标计算机上而生成的,用于所述第二程序的语言专用文件集合,以及第四安装包,它与用于所述第二程序的语言专用文件集合相关联,且是至少部分地基于用于所述第二程序的语言专用文件集合中的文件如何被安装到所述目标计算机上而生成的。
20.如权利要求14所述的计算机可读介质,其特征在于,所述语言中立文件集合作为第一压缩文件被储存在所述计算机介质上与所述第一安装包相同的文件夹内,并且其中,所述语言专用文件集合作为第二压缩文件被储存在所述计算机可读介质上与所述第二安装包相同的文件夹内。
全文摘要
为程序创建用于第一组文件的第一安装包。该第一组文件包括用于该程序的语言中立文件,但不包括用于该程序的语言专用文件。还为该程序创建用于第二组文件的第二安装包。该第二组文件包括用于该程序的语言专用文件。
文档编号G06F9/44GK1794171SQ20051012506
公开日2006年6月28日 申请日期2005年11月18日 优先权日2004年12月20日
发明者J·A·班尼特, T·V·切夫-古达德, P·C·巴, A·T·休斯, S·E·库特泽伯恩, J·M·简姆斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1