InstallShield 自己总结常用操作
2012-07-24 10:21
393 查看
转自 http://www.cnblogs.com/wenlin1234/archive/2007/06/28/798748.html
//安装完成后执行某些操作并将其删除
function OnFirstUIAfter()
begin
TARGETDIR = PROGRAMFILES ^@COMPANY_NAME
^@PRODUCT_NAME;
LaunchAppAndWait(TARGETDIR^"FtpConfig.bat","" ,WAIT);
DeleteFile("FtpConfig.bat");
end;
//验证序列号
在function OnFirstUIBefore()中的
Dlg_SdRegisterUserEx:里nResult下面添加:
if szSerial!=("e43f2811-6643-4742-8c0a-08a9db9df188") && (nResult = NEXT) then
MessageBox( "您录入的注册码不正确!", WARNING );
goto start;
endif;
//卸载程序
function OnMoved()
STRING szWorkingDir,szIconPath,szItemName,svTmp,szParam;
STRING szProgram,szCommandLine,szShortCutKey,szProgramFolder;
NUMBER nResult,nFlag,nIcon;
begin
if !MAINTENANCE then
szProgramFolder =FOLDER_PROGRAMS+@PRODUCT_NAME;
szWorkingDir = TARGETDIR;
szIconPath = PROGRAMFILES^@COMPANY_NAME
^@PRODUCT_NAME+'//uninstall.ICO';
nIcon =0;
szItemName = "卸载little-oa";
//szProgram = szIconPath;
svTmp = PROGRAMFILES+"InstallShield Installation Information//"+PRODUCT_GUID+"//setup.exe";
LongPathToQuote(svTmp, TRUE);
szParam = svTmp;
LongPathToShortPath(szParam);
svTmp = COMMONFILES+"InstallShield//engine//6//Intel 32//ctor.dll";
LongPathToShortPath(svTmp);
szProgram = "RunDll32"+" "+ svTmp+",LaunchSetup";
szCommandLine = szProgram + " " + szParam;
//RunDll32 D:/PROGRA~1/COMMON~1/INSTAL~1/ENGINE/6/INTEL3~1/ctor.dll,LaunchSetup "D:/Program Files/InstallShield Installation Information/PRODUCT_GUID+"//setup.exe"
//szProgramFolder中的@PRODUCT_NAME要与开始->程序->()->shortcut中的()的名称要一样,这样卸载才能加到开始->程序->()中去.
if (AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, nFlag) < 0) then
return -1;
endif;
AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, nFlag);
nResult = CreateShellObjects( "" );
if nResult <0 then
return nResult;
else
ShowProgramFolder (szProgramFolder,SW_SHOW);
return nResult;
endif;
endif;
end;
//安装完成后执行某些操作并将其删除
function OnFirstUIAfter()
begin
TARGETDIR = PROGRAMFILES ^@COMPANY_NAME
^@PRODUCT_NAME;
LaunchAppAndWait(TARGETDIR^"FtpConfig.bat","" ,WAIT);
DeleteFile("FtpConfig.bat");
end;
//验证序列号
在function OnFirstUIBefore()中的
Dlg_SdRegisterUserEx:里nResult下面添加:
if szSerial!=("e43f2811-6643-4742-8c0a-08a9db9df188") && (nResult = NEXT) then
MessageBox( "您录入的注册码不正确!", WARNING );
goto start;
endif;
//卸载程序
function OnMoved()
STRING szWorkingDir,szIconPath,szItemName,svTmp,szParam;
STRING szProgram,szCommandLine,szShortCutKey,szProgramFolder;
NUMBER nResult,nFlag,nIcon;
begin
if !MAINTENANCE then
szProgramFolder =FOLDER_PROGRAMS+@PRODUCT_NAME;
szWorkingDir = TARGETDIR;
szIconPath = PROGRAMFILES^@COMPANY_NAME
^@PRODUCT_NAME+'//uninstall.ICO';
nIcon =0;
szItemName = "卸载little-oa";
//szProgram = szIconPath;
svTmp = PROGRAMFILES+"InstallShield Installation Information//"+PRODUCT_GUID+"//setup.exe";
LongPathToQuote(svTmp, TRUE);
szParam = svTmp;
LongPathToShortPath(szParam);
svTmp = COMMONFILES+"InstallShield//engine//6//Intel 32//ctor.dll";
LongPathToShortPath(svTmp);
szProgram = "RunDll32"+" "+ svTmp+",LaunchSetup";
szCommandLine = szProgram + " " + szParam;
//RunDll32 D:/PROGRA~1/COMMON~1/INSTAL~1/ENGINE/6/INTEL3~1/ctor.dll,LaunchSetup "D:/Program Files/InstallShield Installation Information/PRODUCT_GUID+"//setup.exe"
//szProgramFolder中的@PRODUCT_NAME要与开始->程序->()->shortcut中的()的名称要一样,这样卸载才能加到开始->程序->()中去.
if (AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, nFlag) < 0) then
return -1;
endif;
AddFolderIcon(szProgramFolder, szItemName, szCommandLine, szWorkingDir,
szIconPath, nIcon, szShortCutKey, nFlag);
nResult = CreateShellObjects( "" );
if nResult <0 then
return nResult;
else
ShowProgramFolder (szProgramFolder,SW_SHOW);
return nResult;
endif;
endif;
end;
相关文章推荐
- InstallShield 自己总结常用操作
- InstallShield 自己总结常用操作
- vim使用系列之二——总结一下自己常用的VIM操作
- vim使用系列之二——总结一下自己常用的VIM操作
- vim使用系列之二——总结一下自己常用的VIM操作(边用边更新)
- 自己总结的常用的Oracle操作命令
- 自己总结的常用的Oracle操作命令
- vim使用系列之二——总结一下自己常用的VIM操作(边用边更新, 2010.10.22)
- VIM使用--总结自己常用的VIM操作
- sublime自己总结的快捷键 -日常操作
- Linux常用命令总结1(用户操作相关)
- 自己常用的AE使用总结
- MySQL数据库常用操作技巧总结
- Linux服务器常用操作命令总结
- 自己常用的数据库操作语句
- 操作数组的常用算法总结
- POI操作Excel常用方法总结
- VC操作Windows快捷方式(自己总结)
- [C#]DataTable常用操作总结
- 总结一下自己常用的linux命令(实战or面试必备)