Cor*_*nel 28 windows-installer installshield filepath
如何将文件添加到InstallShield组件,指定InstallShield项目的相对路径,以便在不同的计算机上轻松编译项目?
bvj*_*bvj 31
使用免费的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
Run Code Online (Sandbox Code Playgroud)
我的VS解决方案包括Outlook AddIn和InstallShield LE安装项目.虽然InstallShield包含AddIn生成的输出和相关程序集,但是清单和vsto文件都没有包含在内.所以我需要单独指定这些.这适用于一个工作站; 但是,共享解决方案的另一个工作站具有不同的源目录结构,从而提供未解析的源.
InstallShield使用绝对路径添加了manifest和vsto文件.所有工作站共有的符号链接可以解决问题,但我决定破解ISL文件以查看是否可以使用相对路径来实现ISL文件,将来可能需要维护黑客.
为了获得公共父目录(即我的情况下的解决方案目录),我在ISL中为<table name ="File">中列出的特殊工件指定了以下两个父选择器(..\..).
...<td><ISPROJECTDIR>..\..\MyProject\bin\Release\...
Run Code Online (Sandbox Code Playgroud)
其中HTML实体用于<ISPROJECTDIR>变量的周围小于/大于符号.
我使用<ISPROJECTFOLDER>变量而不是<ISPROJECTDIR>运行了第二次测试(应该是第一次测试).在此测试中,只需要一个父选择器:
...<td><ISPROJECTFOLDER>..\MyProject\bin\Release\...
Run Code Online (Sandbox Code Playgroud)
到目前为止,事情似乎正确解决,但你的相对性可能会有所不同.
| 归档时间: |
|
| 查看次数: |
30444 次 |
| 最近记录: |