installshield被打包文件要怎么才能是相对路径???

bitfish_jzl 2009-02-13 11:40:13
在installshield里面选择那些需要打包的文件,是在"application files"中点"add",然后就会弹出个选择框,让你选择文件夹.
但这些被选的文件它是以绝对路径的形式记录在installshield的安装数据库中. 怎么才能是相对路径呢?

比如有以下文件:
D:\project\projecet.exe
D:\project\support.dll
D:\project\InstallShieldPackage\setup.msi
其中InstallShieldPackage目录下是,installshield的工程文件.setup.msi里面记录了被打包文件projecet.exe和support.dll的绝对路径

但是我并不自己生成安装包.我会把"D:\project"下所有的文件通过Source Control软件发到服务器上去(svn软件的分枝).
然后会有另一个人(职位是builder或SCM),她会把我集成上去的代码拉下来,再从从分枝集成到主干上去.
最后她会把我的代码编一下,并生成安装包.

问题是,她把我集成上去的代码拉下来,可能拉到她的E:\Temp目录.
也就是说,在builder的机子上,目录会如下显示
E:\Temp\projecet.exe
E:\Temp\support.dll
E:\Temp\InstallShieldPackage\setup.msi
而setup.msi里面记录的被打包文件的路径还是
D:\project\projecet.exe
D:\project\support.dll
所以就出错了.

有没有怎么办法可以把被打包文件的路径换成相对路径呢?像:
..\project.exe
..\support.dll
这样就可以了

哪位大大可以解惑? 非常感谢!

...全文
515 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
bitfish_jzl 2010-06-04
  • 打赏
  • 举报
回复
晕 无满意结贴给分无效?
那我的分不就浪费了

楼上的:installShield里面有自带的预定义变量,其中一个变量就是表示当前路工程文件的路径.
那么知道了当前路径了,相对路径只需要在当前路径后面加上"\.."这样的符号就可以了
gisww 2010-01-27
  • 打赏
  • 举报
回复
楼主能说具体点么?谢谢
bitfish_jzl 2009-03-13
  • 打赏
  • 举报
回复
解决了.
先显示组件,然后给组件定属性,在里面输入软件预定义的路径变量.

en!
ggmfc 2009-02-25
  • 打赏
  • 举报
回复
UP!
hearoequal 2009-02-25
  • 打赏
  • 举报
回复
我是当成编程了
你说的那个什么脚本没接触过

帮不了你了
WillyWonka 2009-02-24
  • 打赏
  • 举报
回复
最近刚了解用VS2005生成安装文件,不过貌似有点问题,UP一下
bitfish_jzl 2009-02-24
  • 打赏
  • 举报
回复
hi hearoequal:
你能讲得更详细一点吗? 是在脚本里面写SetCurrentDirectory?
还是你把它当成PC编程了?

谁用过这个工具呀?
或者谁能介绍我到那个论坛上去问这个问题啊?

如果我在那个论坛找到答案,我同样给分并在这里写出答案.

bitfish_jzl 2009-02-17
  • 打赏
  • 举报
回复
hi sjdev:
不能让builder每次都手动去选择要打包的文件.
人工操作会出错的,这样release出去会出错.

hi jixingzhong oyljerry
我想让builder自己生成msi安装包.

其实,如果让builder拉下代的源代码的绝对路径和我PC机上的一样,也是可以解决这个问题的.
但是这样很不灵活.

我以前的同事,用另一个打包工具,在脚本里是可以取到相对路径的.
但是我们公司正版的就只有这个installshield.
我想试试installshield是否有这个功能.

能再想想办法吗?
thanks
bitfish_jzl 2009-02-17
  • 打赏
  • 举报
回复
hi 你们好.
不能自己生成安装包,这个是builder的事情,不是我开发人员的事,流程是这样的.
我们把软件Release出去的时候,都是把源代码发到服务器上去,再发邮件给builder.
builder收到后,就会从我的分枝上把代码合到主干上去.然后把代码编一次.
她编完后,她应该生成一个安装包. 然后把一个地址(包括安装包)通过邮件群发出来.
谁要用,谁装这个安装包就可以了.

如果要让我自己做安装包的话,我每次都累死了. 而且这个工作而来是builder要做的事情.
我应该只需要告诉builder怎么做安装包就可以了.


另外:更正一个地方,上面提到的
D:\project\InstallShieldPackage\setup.msi
其实应该是
D:\project\InstallShieldPackage\setup.ism
它是installshield的工程文件. 这个工程文件可以生成一个以msi这扩展名的安装包.
hearoequal 2009-02-17
  • 打赏
  • 举报
回复
SetCurrentDirectory( str_path );

改变当前工作路径

改变了 在用./dir 去就可以了
sjdev 2009-02-13
  • 打赏
  • 举报
回复
你发给她打包的文件(注意:不是installshield工程的打包)即可.她通过installshield的文件管理器添加文件时,系统会自动生成该文件的绝对路径,这个不用操心的。
oyljerry 2009-02-13
  • 打赏
  • 举报
回复
不要直接按路径导入,而是生成msi等.
jixingzhong 2009-02-13
  • 打赏
  • 举报
回复
可以打包成一个msi,不是很方便么?
jixingzhong 2009-02-13
  • 打赏
  • 举报
回复
关键是,为什么不把它们生成安装包?
bitfish_jzl 2009-02-13
  • 打赏
  • 举报
回复
有使用installshield打包软件的高手吗?

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧