今天,一同事向我提出一个问题,在使用我提供的程序安装包安装完程序后,发现创建的应用程序快捷方式属性窗体中有一项【起始位置(S):】的文件路径有问题,我按照他说的查看方法一看,可不,【目标(T):】项的路径为“C:/Program Files/产品名称/产品.exe”,而【起始位置(S):】项的路径却是“C:/Program Files/产品名称/log”。哎,这是怎么弄的呢?于是就开始胡思乱想了,是注册表信息读取有问题,还是哪里没设置好。在注册表里找了半天也没发现什么提示。于是打开安装程序脚本,找到创建快捷方式脚本所在位置,发现了一个问题,【起始位置(S):】项中的路径“C:/Program Files/产品名称/log”正是创建快捷方式脚本的上一句script。这好像给我提示了些什么。我尝试着把创建快捷方式的脚本移到了“$INSTDIR/产品名称”的下面,重新编译后,问题解决。
【目标(T):】项的路径是“C:/Program Files/产品名称/产品.exe”;
【起始位置(S):】项的路径是“C:/Program Files/产品名称”
例子:
SetOutPath "$INSTDIR/产品名称"
File "产品.exe"
CreateShortCut "$DESKTOP/产品.lnk" "$INSTDIR/产品名称/产品.exe"
script 顺序要安排好。
在有的应用软件中,创建的快捷方式【起始位置(S):】项为空。我没有仔细研究如何实现的,如有哪位知道可指教一下。
上述内容可能有疏漏,请观者批评指点。