重新打包应用程序的信息: 缺点

文章翻译 文章翻译
文章编号: 264478
展开全部 | 关闭全部

本文内容

概要

本文介绍的缺点和重新使用的应用程序打包与 Windows 安装程序的安装引擎的技术问题。

更多信息

捕获或者"搜索"实用程序旨在将旧式安装转换为新的 Windows 安装程序格式 ;MSI 软件包。

这些捕获实用工具,如 Windows 2000 Server CD-ROM 上的随附拍照系统的安装之前和之后的 Veritas WinInstall LE。将在安装中包括任何注册表更改,文件的更改或在捕获过程中发生的系统设置。

安装后台

设计 Windows 安装程序,以便在它们部署在公司环境中的应用程序时,系统管理员可以有更大的灵活性更集成在应用程序开发周期中。若要实现此目的,该应用程序的开发人员考虑重新分发在早期开发阶段,而不是最后的开发周期。

等到最后开发阶段,若要创建安装程序包,通过该应用程序有其自己的安装 ; 不支持它依靠一种完全不相关的技术,要安装。这样一来,总成本 (tco) 而大大增加了由于系统管理员必须拿出自己唯一的方法,用于重新分发。有时这些解决方案是"DLL 灾难"问题的大贡献。重新打包不能解决所有这些问题。它有时可以复合的旧安装技术的问题,并添加额外层实现的由于增加复杂性。

Windows 安装程序是在 Windows 环境中安装应用程序的当前和未来的方法。它是一种数据库驱动的安装技术,而不是由脚本驱动的并可提供多项优点,如由应用程序安装程序对系统所做的更改可以回滚安装过程。要充分利用 Windows 安装程序的功能,应用程序开发人员应在开发阶段涉及 MSI。详细信息,请参阅以下 Microsoft 网站上的 Windows 安装程序有关的白皮书:
http://www.microsoft.com/smserver/docs/installStepup.doc

常见的问题和问题

  • 可恢复性

    恢复能力可以是重新打包 applicationsbecause 重新包装程序实用程序可能会不一致充分了解 componentdependencies 或关键应用程序的路径应是什么。因此,anapplication 可能会打包到缺少组件 keypath 时获取 entirelyreinstalled 的一大特征。如果已断开 intomultiple 小功能,它能够更易于管理的可恢复性。
  • COM/ActiveX 注册

    组件对象模型 (COM) 和 ActiveX 控件可能没有注册的 beproperly。之前 Windows 安装服务、 COM 和 ActiveX registrationwas 一个黑匣子。导出的函数的除外) DLLRegisterServerDLLUnregister 服务器,COM 和 ActiveX 控件提供的 theirregistration 进程很少提示。RegSvr32.exe 负责调用 previouslymentioned 函数,则 DLL 是负责注册自身。没有实用程序,可以查看 DLL、 OCX 或 EXE 判断出 whatgoes on 内侧 DllRegisterServerDllUnregisterServer 该文件中。没有注册大多数命令 ActiveX 控件,如 HKCR\CLSID、 HKCR\ProgID、 andHKCR\TypeLib 的标准注册表项。COM 注册信息可能或可能不会得到输入的已通过重新包装程序的适当 MSI 表。
  • 快捷方式

    为 Windows 安装程序 descriptorshortcuts,使复原可能无法创建快捷方式。旧版安装程序的快捷方式已在大多数情况下的可执行文件的.lnk 文件 thatpointed。有时重新包装程序运行时,allit 就知道是.lnk 文件被复制到的目录。例如,legacySetup.exe 到 C:\Windows\Profiles\User1\Desktop 安装快捷方式。Therepackager 将.lnk 文件直接复制到目录 listedpreviously。因此,重新包装程序实际上无法复制的 WindowsInstaller 快捷方式,但相反它不包括任何 resiliencycapabilities 的情况下复制文件。
  • 独立的组件

    利用独立的组件的唯一办法是 toauthor 新的 MSI 程序包。打包当前不支持此功能。
  • 应用程序删除

    当卸载程序的重新打包的应用程序,则可能的 AllUsers 配置文件可能会被删除。这是依赖于传统的 setupwas 如何捕获和明确需要进行测试。
  • 组策略和通告

    收到下面的错误消息是公共问题 whenassigning 到 GPO:
    对象的大小超出了将由管理员设置。
    在连接重新打包应用程序与 Microsoft Visual Studio 6 一样大时更是如此。Errormessage 是误导性的意义上说它传达给用户可设置的 ADSI 来缓解这种情况的有 issome。有 iscurrently 无解决此错误消息的方法。这是信息的多余,这一过程有时将放在 MSIpackage repackaging issuebecause。 有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    262166 在 活动目录(AD) 中发布的应用程序可能会导致错误
  • 目录结构

    目录结构混乱是一个常见的问题在 repackagingbecause 的 Win32 操作系统的目录中的所有差异。考虑操作系统为您执行以下环境变量的每个目录位置:

    • 系统目录
      Windows 95、 98、 98SE 和消除脚本错误 = Windows\System。
      Windows NT 和 Windows 2000 = WinNT\System32。
    • 配置文件目录
      Windows 9x x / 我 = 然后
      Windows NT = WinNT\Profiles
      Windows 2000 = 文档和设置
    因此,如果捕获 Microsoft Windows NT,然后 tryto 在 Win9x 操作系统上安装 MSI 程序包时,应转到 Windows\System 任何文件也可以转到 WinNT\System32。因此,applicationfiles 未安装到正确的目录。Thisscenario 的"最佳做法"是捕获或重新打包为每个 Windows 平台,以便正确地捕获目录结构和依赖于操作系统的文件。
  • ANSI 与 UNICODE

    应用程序有时需要 ANSI 或 UNICODE 特定的库。ANSI 库通常在 Microsoft Windows 95 和 MicrosoftWindows 98 中找到。UNICODE 专为 Windows NT 4.0 和 Windows 2000.If 创建 MSI 软件包专门用于 UNICODE 或 ANSI,您启动时重新分发程序包,在 Windows 95、 Windows 98、 Windows NT 和 Windows 2000 之间的问题。这是为每个操作系统版本的另一个理由 torepackage。
  • 自定义 (与转换重新包装)

    如果最初在 MSI 格式和生成您的应用程序需要自定义您的软件包,您无需使用重新打包。WindowsInstaller 在设计上具有系统管理员注意,anticipatedthe 需要自定义软件包。Windows 安装程序支持功能 calledTransforms (。MST),可用于自定义安装。

    详细信息,在您执行以下 MSDN 网站上,请参阅 Windows 设置 SDK 中的转换主题:
    http://msdn.microsoft.com/library/default.asp?url=/ library/en-us/msi/setup/transforms.asp
  • 用户帐户配置

    当您将应用程序重新打包时,将 madeunder 的用户帐户的任何更改可能安装了哪些组件。例如,legacyapplication,MyProgram.exe,已转换为 thelocal 计算机管理员帐户下 MSI 软件包。MyProgram.exe 对 thedesktop (C:\Documents 和 Settings\Administrator\Desktop\MyProgram.LNK) andstores 用户设置用户配置文件 (C:\Documents andSettings\Administrator) 子目录中的快捷方式。User1 登录并运行 MSI。User1receives 错误消息,因为他或她并没有对 writeto 权限管理员文件夹。即使用户 1 具有管理员权限或运行 MSIwith 提升的特权,MSI 将要编写桌面快捷方式已管理员配置式。同样适用于用户设置和 userspecific 数据 ;它是所有打算从 C:\Documents andSettings\Administrator 目录中运行。因此,当您将应用程序重新打包,差异的一个精确拷贝可能会写入用户 whoinstalls 的配置文件中的 MSI 程序包。

建议

如果您决定使用 repackaging 工具,您需要记住几件事:

  • 始终使用该工具完全干净计算机 ;将 surethe 计算机已安装的任何其他应用程序。
  • 关闭任何不必要的服务。
  • 创建每个硬件配置的包。例如,如果有 50 XYZ 戴尔计算机和 50 ABC 网关计算机,您需要由于所有的 differenthardware 和每台计算机上加载驱动程序使文件包的每种类型的系统。您要保持特定的硬件和软件配置的每个 packagelimited。

    通过此过程的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    257718 如何创建第三方 Microsoft 安装程序包 (MSI)
有关发布上 Windows 2000 域中的旧版应用程序的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
231747 若要发布具有非 MSI 程序的方式。Zap 文件

属性

文章编号: 264478 - 最后修改: 2013年9月21日 - 修订: 5.0
关键字:?
kbinfo kbmt KB264478 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 264478
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com