在InstallShield中有时需要一些删除操作,比如在安装新版本时将以前的安装路径做了变换,这样的话win7 就可能会将图标显示不出来,那么就要手动写脚本去删除。下面介绍几个InstallShield里的函数。
1:DeleteFile();这个函数很容易理解,就是删除指定目录的文件。
2:DeleteDir();这个函数是删除指定的路径文件夹。要想删除文件夹中所有文件可以将第二个参数设为ALLCONTENTS。
3:ExistsDir();确定是否存在指定文件夹/目录。
4:DeleteProgramFolder();这个函数就是用来删除 Start Meau --- All Program里面的快捷方式的,可以这样写
这样的话你就将 Start Meau --- All Program里面的快捷方式给删除了。用户就不会知道你的操作了。
自己在Setup.rul中编写脚本。 在function OnFirstUIBefore()//此函数在安装2.exe的操作之前执行 //在begin前定义 #define subkey "SOFTWARE\\SOFTWARE\1\1\dword" string szsubkey; number nRootKey; //begin后写你自己要执行的操作 begin //DeleteFile()删除文件,返回0表示正常删除,返回<0失败 if(DeleteFile ("c:\1\1.exe")<0) then MessageBox("1.exe文件没有正常删除,请重新安装",MB_OK); endif; nRootKey = HKEY_LOCAL_MACHINE; RegDBSetDefaultRoot (nRootKey); // set the name of the subkey. szsubkey = subkey; //RegDBDeleteKey()删除注册表键值,返回0表示正常删除,返回<0失败 if( RegDBDeleteKey (szSubKey)<0) then MessageBox("注册表键值没有正常删除,请重新安装",MB_OK); endif;
按默认排序|按时间排序1条回答
2013-06-21 11:14热心网友可以在 “卸载 → 操作” 里用 Folder.Delete 或者 Folder.DeleteTree 来删除文件夹。