InstallShield - 相对文件路径

2024-02-07

如何将文件添加到 InstallShield 组件并指定 InstallShield 项目的相对路径,以便轻松在不同计算机上编译项目?


使用免费的 VS 限量版 InstallShield,设置自定义路径看起来不太可能。因此,在只有几个预定义路径选项可用的情况下,可能需要破解 ISL 文件。

以下是我在 2013 Express 文档中找到的预定义路径变量:(验证是否存在拼写错误)

    Predefined Path                              Variable Value                       InstallScript Path Variable
    --------------------------------------------------------------------------------------------------------------
    <ProgramFilesFolder>                         C:\Program Files\                    <PROGRAMFILES>
    <CommonFilesFolder>                          C:\Program Files\Common Files\       <COMMONFILES>
    <WindowsFolder>                              C:\Windows\                          <WINDIR>
    <SystemFolder>                               C:\Windows\System32\                 <WINSYSDIR>
    <ISProjectFolder>                            C:\InstallShield 2013 Projects\      
    <ISProjectDataFolder>                        <ISProjectFolder>\ProjectName        <ISPROJECTDIR>
    <ISProductFolder>                            C:\Program Files\InstallShield\2013  
    <ISRedistPlatformDependentFolder>            C:\Program Files\InstallShield\2013\
                                                    .\Redist\Language Independent\i386
    <ISRedistPlatformDependentExpressFolder>     C:\Program Files\InstallShield\2013\
                                                    .\Redist\Language Independent\
                                                    .\i386 Express

我的 VS 解决方案包括 Outlook AddIn 和 InstallShield LE 安装项目。尽管 InstallShield 包含了 AddIn 生成的输出和相关程序集,但清单文件和 vsto 文件均未包含在内。所以我需要单独指定这些。这适用于一台工作站;但是,共享该解决方案的另一个工作站具有不同的源目录结构,提供了未解析的源。

清单和 vsto 文件是由 InstallShield 使用绝对路径添加的。所有工作站通用的符号链接可以解决该问题,但我决定破解 ISL 文件,看看是否可以使用相对路径实现 ISL 文件可能需要维护黑客将来。

为了获取公共父目录(即我的情况下的解决方案目录),我在 ISL 中为中列出的特殊工件指定了以下两个父选择器 (..\..).

...<td>&lt;ISPROJECTDIR&gt;..\..\MyProject\bin\Release\...

其中 HTML 实体用于周围的小于/大于符号多变的。

我使用以下命令进行了第二次测试(这应该是第一个测试)变量而不是。在此测试中,只需要一个父选择器:

...<td>&lt;ISPROJECTFOLDER&gt;..\MyProject\bin\Release\...

到目前为止,事情似乎解决正确,但你的相对论可能会有所不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

InstallShield - 相对文件路径 的相关文章

随机推荐

  • 管理多个 Twisted 客户端连接

    我正在尝试在一种管理多个客户端连接的蜘蛛程序中使用 Twisted 我想维持一组大约 5 个同时工作的客户 每个客户端的功能是连接到从列表中获取的指定 IRC 服务器 进入特定频道 然后将该频道中的用户列表保存到数据库中 我遇到的问题更多的
  • 从 Flutter 应用程序访问 ExpoSecureStore 存储的钥匙串值 [iOS]

    我有一个 React Native 应用程序 仅针对 iOS 发布 它使用曝光安全存储 https docs expo io versions latest sdk securestore 从 iOS 钥匙串中写入和读取值 我正在过渡到 F
  • 创建自定义 XML 数据类型?

    有没有办法为 Android 创建自定义 XML 数据类型 我有课Model其中包含我的实体的所有统计数据 我希望能够充气Model与 xml 中的类类似 嗯 就像视图一样 这可能吗 Example
  • Pandas UDF 不比 Spark UDF 快吗? [复制]

    这个问题在这里已经有答案了 我从 Pyspark 网站获取了以下 UDF 因为我试图了解是否有性能改进 我制作了很大范围的数字 但两者花费的时间几乎相同 我做错了什么 Thanks import pandas as pd from pysp
  • Fortran:将任意“结构”传递给模块子例程

    我正在尝试编写一个通用子例程以实现最小化 由于我想要一个通用的子例程 目标函数可以有不同的参数 不仅在名称上 而且在维度上 所以我需要一种方法来传递该参数结构 我使用 结构 一词 因为我的想法是使用类似于 Matlab 中的结构类型变量的东
  • Scala 2 隐式和 Scala 3 给定/使用之间的区别

    两者有什么区别implicitScala 2 中的关键字和given using在 Scala 3 中 难道只是这样吗implicit已被分成两个关键字 或者语义也不同 如果是 如何 在大多数情况下 它们是相同的 然而 implicit不再
  • 使用 url 中的 javascript 更改框架属性

    我想根据 URL 使用 javascript 更改 iframe 的大小 我的意思是 如果网址是 mywebpage com example html width 800 height 450 iframe 是 看到 iframe 中的宽度
  • ASM字节码工程库中MethodVisitor类的visitLocalVariable()方法是做什么的?

    我在应用程序中使用 ASM 第一次 来创建 Java 类文件 这是我正在编写的编译器的后端 我阅读了 ASM 文档的相关部分 并对堆栈映射框架有疑问 ASM 表示 如果使用适当的标志初始化类编写器 它可以自动计算这些帧 我的问题是 这是否意
  • 如此透明,我无法捕捉到它...使用 Rghost 模拟 Ghostscript 命令,就像在虚拟打印机上一样

    作为一个红宝石新手 我一直在寻找幽灵 你可能会有所帮助 我读了很多书 并被告知对付这些鬼鬼祟祟的家伙的最好方法是使用脚本 ghostscript 我正在尝试执行在虚拟打印机中运行的 Ghostscript 命令 但在 ruby 鞋子 文件的
  • 将大型 DataFrame 输出到 CSV 文件的最快方法是什么?

    对于 python pandas 我发现 df to csv fname 的工作速度约为每分钟 1 百万行 有时我可以将性能提高 7 倍 如下所示 def df2csv df fname myformats sep function is
  • Task.Convert 扩展方法有用还是有隐患?

    我正在为 Google Cloud API 编写客户端库 该库具有相当常见的异步帮助器重载模式 做一些简短的同步工作来设置请求 发出异步请求 以简单的方式转换结果 目前我们正在使用异步方法 但是 就优先级而言 转换await的结果最终会很烦
  • 输入流迭代器和异常

    几天前 我正在研究 istream 迭代器和异常处理 我对此感到好奇 include
  • SQL Server 表中列的最佳命名

    您会选择以下三个选项中的哪一个作为 SQL Server 表中的列名 为什么 年初至今工资 YTDWages YtdWages 跟进 SSN Ssn 社会安全号码 对于第一个 我会使用 WagesYTD 因为年初至今是工资的修正因素 对于第
  • 如果我的部署目标是8.0,我们是否需要为“armv7”和“arm64”编译iOS应用程序?

    我的应用程序支持iOS8 0及以上版本 而且我知道从iOS7开始它的arm64位架构 在这种情况下 我们是否需要编译 armv7 和 arm64 切片的二进制文件 如果我单独编译arm64 我可以减少我的应用程序大小 这是正确的方法吗 请帮
  • Oracle 从表中随机行

    我找到了从 Oracle 表中选择随机行的解决方案 实际上以随机方式对行进行排序 但您只能获取第一行以获得随机结果 SELECT FROM table ORDER BY dbms random value 我只是不明白它是如何工作的 ORD
  • 反应本机 RCTBridgeModule 的初始化

    我想知道向我的 RCTBridgeModule 添加初始化步骤的最佳方法是什么 我当前的解决方案是声明一个必须在 AppDelegate 内部调用的方法 是否有任何其他 更好的解决方案不需要模块的最终消费者向其 AppDelegate 添加
  • 埃拉托斯特尼素数筛法到一百万 C++

    所以我需要有关我的代码的帮助 由于某种原因 当我输入超过 500 000 的数字时 它不断崩溃 这是确切的分配 实现埃拉托色尼筛法并用它来查找所有素数 数量小于或等于一百万 使用结果 证明哥德巴赫猜想对于 4 到 4 之间的所有偶数 100
  • 基于单选按钮选择的 jQuery DatePicker 更新选项

    我试图让 jquery 日期选择器在选择不同的单选按钮时进行更新 div style padding bottom 50px div
  • 使用 WebDriver 处理不受信任的 SSL 证书

    我在使用 Java 中的 webdriver 处理不受信任的 SSL 证书时遇到了困难 我创建了 Firefox 配置文件 如下所示 FirefoxProfile profile new FirefoxProfile profile set
  • InstallShield - 相对文件路径

    如何将文件添加到 InstallShield 组件并指定 InstallShield 项目的相对路径 以便轻松在不同计算机上编译项目 使用免费的 VS 限量版 InstallShield 设置自定义路径看起来不太可能 因此 在只有几个预定义