【问题标题】:InstallShield2010 XML File Changes on modify and uninstallInstallShield2010 XML File Changes on modify and uninstall
【发布时间】:2012-02-16 17:43:03
【问题描述】:

我已经成功获得了我的概念证明 MSI 安装程序,它创建了一个 xml 文件,并在全新安装时按照我的意愿更新了元素。 我有 6 个功能,如果选择安装该功能,我希望为该功能创建一个节点并基于属性设置一个属性。

如果我修改安装并删除以前安装的功能,我希望为其创建的 xml 节点保持不变并且我希望将我在安装时设置的属性设置为基于相同的更新属性(现在具有不同的值)。

是否可以利用 InstallShield 的现有功能来执行此操作?看来我可以,并且避免在删除功能时编写自定义操作来更新我的 xml。似乎没有太多关于 isxmlcfg.dll 及其中的自定义操作的文档。

当我删除一项功能时,CA ISXmlUnInstall 正在运行 - 但似乎所有操作都是删除节点或离开它......

【问题讨论】:

    标签: windows-installer installshield installshield-2010


    【解决方案1】:

    您可能遇到的问题是,尽管您在某些东西(例如 registery、ini 或 xml)中使用了该属性,但 Windows 安装程序本身并没有在其数据库中保留属性。你必须自己做。因此,如果您想要进行维修、更改、升级或其他任何操作,并且想要拥有相同的属性数据,您不仅需要将其保存到某个东西(比如 xml),而且还必须有一个对应的 AppSearch(XmlSearch)这可以将其拉回属性中,因此它具有在 UI 期间显示的值,或者稍后写回 XML。

    还可以考虑支持一种模式,即仅当真实属性还没有值时才将其读入临时属性并分配给真实属性。这样,某人可以进行静默安装(升级)并将属性作为覆盖传递给先前配置的内容。 (没有被搜索破坏)

    【讨论】:

    • 关于物业的优秀建议。有了这个并决定让我自己的自定义操作按顺序排列并有条件在卸载时运行,我正在工作。我曾希望避免创建 CA,但我没时间了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    • 2012-08-02
    • 2022-12-01
    • 2019-07-13
    • 2022-12-01
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多