|
<DIV class=ts twffan="done">
<DIV class=td twffan="done">2005-03-21 12:16:00</DIV>发贴人: GHJJ</DIV>
<DIV class=tc twffan="done">系统默认的路径可以事先知道,但如果用户把路径改了后,怎样知道用户改后的路径是多少?如原路径是C:\.......,现改为D:\......,怎样知道用户改后的路径是多少。</DIV>
<DIV class=tc twffan="done">2005-03-21 12:23:37</DIV>
<DIV class=tc twffan="done"> </DIV>
<DIV class=ts twffan="done">回复人: vcleaner</DIV>
<DIV class=tc twffan="done">TARGETDIR就是安装的目标路径!<BR>InstallShield <BR>http://www.installsite.org/</DIV>
<DIV class=ts twffan="done">
<DIV class=td twffan="done">2005-03-21 12:26:00</DIV>
<DIV class=td twffan="done"> </DIV>回复人: vcleaner</DIV>
<DIV class=tc twffan="done">参考InstallShield 的Script:<BR>Dlg_SdAskDestPath2:<BR>// if ((nResult = BACK) && (nSetupType != CUSTOM)) goto Dlg_SetupType2;<BR>szTitle = "";<BR> szMsg = "";<BR>// if (nSetupType = CUSTOM) then<BR> //{{IS_SCRIPT_TAG(Dlg_SdAskDestPath2)<BR>nResult = SdAskDestPath( szTitle, szMsg, svDir ,0);<BR> //}}IS_SCRIPT_TAG(Dlg_SdAskDestPath2)<BR> TARGETDIR = svDir;//将客户修改以后的安装路径赋值给TARGETDIR <BR>// endif;<BR> if (nResult = BACK) goto Dlg_SetupType2;<BR><BR>////////////////////////////////////////////////////////////////////////<BR>你可以将这个TARGETDIR 写入注册表!以后需要的时候读取即可!</DIV>
<DIV class=ts twffan="done">
<DIV class=td twffan="done">2005-03-21 12:58:56</DIV>
<DIV class=td twffan="done"> </DIV>回复人: GHJJ</DIV>
<DIV class=tc twffan="done">但多谢二位回复。我用的是installshield10.0版,我生成的安装文件包没有用Script,但我能在安装过程中加入我自己的执行文件.exe,可以在我自己的.exe文件中写注册表,但我怎样在程序中访问“TARGETDIR”呀?,有个函数gettargetpath函数,但我用了不行。</DIV>
<DIV class=ts twffan="done">
<DIV class=td twffan="done">2005-03-21 13:12:13</DIV>
<DIV class=td twffan="done"> </DIV>回复人: lshadow</DIV>
<DIV class=tc twffan="done">TARGETDIR好象是系统变量,直接就能访问的</DIV>
<DIV class=ts twffan="done">
<DIV class=td twffan="done">2005-03-21 13:14:28</DIV>
<DIV class=td twffan="done"> </DIV>回复人: laiyiling</DIV>
<DIV class=tc twffan="done">//用户选择安装程序文件的目录<BR>Dlg_SdAskDestPath:<BR> szTitle = "";<BR> szMsg = "";<BR> //nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );<BR> //TARGETDIR = szDir;<BR> //该语句的功能是在用户选择的路径后加上单位和应用程序名称作为安装的目录<BR> svTemp = szDir; <BR> nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 ); <BR> if ( svTemp != szDir) then <BR> szDir = szDir^@COMPANY_NAME ^@PRODUCT_NAME; <BR> endif; <BR> TARGETDIR = szDir; <BR> /////////////////////////////<BR> if (nResult = BACK) goto Dlg_SdRegisterUserEx;<BR><BR>用这段代码替换掉默认生成的Dlg_SdAskDestPath部分就可以</DIV> |
|