【问题标题】:InstallShield 2012: With Dynamic FIle Linking is there a way to swap one file for anotherInstallShield 2012:使用动态文件链接是否可以将一个文件交换为另一个文件
【发布时间】:2012-04-03 01:06:03
【问题描述】:

我正在使用动态文件链接来定义我希望我的组件安装的文件。我有一种情况,当客户端机器安装了版本 X 时,我需要安装一个版本的 DLL,而当他们安装了版本 Y 时,我需要安装不同版本的 DLL。我希望有一个设置(条件)可以像 SQL 脚本一样使用。可以这样做还是我需要做一些事情,比如为版本 X 提供一个功能,为版本 Y 提供另一个功能,用户只能选择 1?

【问题讨论】:

    标签: installshield


    【解决方案1】:

    不,InstallShield 根本不可能对您的安装程序在“动态”拾取文件时需要执行的操作有这种程度的理解。我根本不建议使用动态,但如果必须,您需要列出您的文件名以从“动态”中“排除”,然后直接在安装程序中将这些文件作为组件编写。一旦你这样做了,你就可以利用组件上的条件属性。

    唯一的另一种选择是创建额外的动态组件并将它们与有条件操纵功能及其组件的安装级别的功能相关联。

    【讨论】:

    • 我删除了动态链接并使用组件向导从我的网络应用程序中添加了所有文件夹和文件。在尝试构建时,我现在得到“找不到文件。在合并模块‘MDAC27ENU.C9C35FC7_5AEE_4C1E_8BD2_80ED9FA87FFF:1033’的功能时发生错误”我看到你从 2008 年开始在 Flexera 软件论坛上发表的一篇文章说,添加该模块时应该小心。我检查了 Redistributable Downloader 并且 MDAC27 没有出现在列表中。为什么动态链接会改变构建行为?这是 IS 问题还是与我客户的应用程序有关?
    • 我可能会被当成依赖项。检查您的组件并确保所有依赖项扫描属性都显示“仅属性”并重新构建。另一种可能性是它是您安装程序中另一个合并模块的模块依赖项。
    • 您可能还想进入工具 |选项 | .NET 并为所有新创建的组件选择属性。
    • 就是这样。我将所有组件的“.Net Scan at Build”值设置为 Properties Only,并且构建成功
    • InstallShield 正在“帮助”您。它检测到对包含在合并模块中的 DLL 的依赖。问题是自 XP 以来 MDAC 2.7 已内置到 Windows 中。有关您可能需要的所有信息,请参阅以下页面:msdn.microsoft.com/en-us/library/ms810805.aspx
    猜你喜欢
    • 1970-01-01
    • 2016-10-06
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2015-06-04
    • 1970-01-01
    相关资源
    最近更新 更多