代码之家  ›  专栏  ›  技术社区  ›  Nestor

每个组件一个文件还是每个组件几个文件?

  •  63
  • Nestor  · 技术社区  · 15 年前

    我应该将要安装的所有文件包装到各个组件中吗? 将多个文件放在一个组件中有什么好处?

    2 回复  |  直到 7 年前
        1
  •  81
  •   Community Paul Sweatte    7 年前

    “每个组件一个文件”的一个原因是 resiliency . 启动应用程序时,Windows Installer可以检查 keypath 缺少任何组件。如果缺少密钥路径,则重新安装/修复组件。

    如果一个组件有多个文件,则 只有一个文件 可以是关键路径。在wix中,通过设置 KeyPath=yes 在一 File 元素。其他文件将不受Windows Installer恢复性的完全保护。只有在密钥路径文件丢失时才会重新安装它们。

    “每个组件一个文件”的另一个原因是,将文件安装到可能已经存在的位置(例如,应用程序升级或安装到 c:\windows\system32 )Windows Installer通过检查密钥路径来确定是否需要安装组件。如果keypath是一个文件,并且该文件已经存在(具有相同版本或更高版本),则组件是 安装。这是个问题,如果 其他 组件中的文件实际上需要安装/升级。

        2
  •  7
  •   Linda    13 年前

    我遵循InstallShield也使用的Microsoft方法: http://msdn.microsoft.com/en-us/library/aa368269(VS.85).aspx

    上面的链接给出了这种方法的优点。