如何将文件添加到指定InstallShield项目的相对路径的InstallShield组件中,以便在不同的计算机上轻松编译项目?
发布于 2011-08-05 13:56:20
你可以使用<path variables> (see documentation -从Wayback复活,2018年8月)来将你所有的文件指向它们。
另请参阅this blog post。
发布于 2014-05-14 06:59:51
使用InstallShield的免费VS限量版,设置自定义路径看起来是不可能的。因此,黑客攻击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><ISPROJECTDIR>..\..\MyProject\bin\Release\...其中,HTML实体用于变量的周围小于/大于符号。
我使用变量而不是运行了第二个测试(应该是第一个)。在这个测试中,只需要一个父选择器:
...<td><ISPROJECTFOLDER>..\MyProject\bin\Release\...到目前为止,事情似乎都在正确解决,但你的相对论可能会有所不同。
发布于 2013-04-18 13:49:31
<ISProjectFolder>是包含Install Shield项目的目录的宏。
(答案放在这个页面上要容易得多……)
https://stackoverflow.com/questions/6912608
复制相似问题