1.准备好图标文件,和脚本放入同意目录下。
2.使用一个名为UpdateIcon.dll的插件
3.添加Code段,代码如下:
//插件函数用法//参数: 句柄(插件错误对话框的父句柄), exe文件完整路径名称, (exe文件中要替换的)图标资源名称, 图标文件的完整路径名称, (exe中要替换的图标资源所在)语系
//返回值: 成功 = Tr, 失败 = False
function UpdateIcon(const hWnd: Integer const exeFileName, exeIcon, IcoFileName: String wlangID: DWORD): Boolean
external 'UpdateIcon@files:UpdateIcon.dll stdcall'
//替换卸载程序的图标
function UpdateUninstIcon(const IcoFileName: String): Boolean
begin
//要替换图标的exe文件路径名称留空,则插件会自动替换掉Inno卸载程序的图标,其它参数类似!
Result:= UpdateIcon(MainForm.Handle, '', '', IcoFileName, 0)
//替换卸载图标
end
procedure CurStepChanged(CurStep: TSetupStep)
var
sIcon: String
begin
//注意: 替换卸载程序的图标,必须是在卸载程序生成之前!
//安装图标与卸载图标的格式与大小一致,否则可能会导致卸载程序出错!
if CurStep=ssInstall then
begin
sIcon:= ExpandConstant('{tmp}\uninstall.ico') //定义卸载图标
ExtractTemporaryFile(ExtractFileName(sIcon)) //释放卸载图标
//要替换图标的exe文件路径名称留空,则插件会自动替换掉Inno卸载程序的图标!
UpdateUninstIcon(sIcon)//替换卸载图标
end
end
4、 编译之后就可以了。
二、修改卸载程序的名字
以下为引用Inno Setup 脚本的内容, 该示例脚本显示自定义卸载文件的名称(默认为 unins000.exe,unins001.exe 等等),自己注意看注释说明。
[Setup]
AppName=自定义卸载文件名示例程序
AppVerName=自定义卸载文件名示例程序 1.0
DefaultDirName={pf}/自定义卸载文件名示例程序
DefaultGroupName=自定义卸载文件名示例程序
[Files]
Source: "MyProg.exe" DestDir: "{app}"
Source: "MyProg.hlp" DestDir: "{app}"
Source: "Readme.txt" DestDir: "{app}"
[CODE]
procedure CurStepChanged(CurStep: TSetupStep)
var
uninspath, uninsname, NewUninsName, MyAppName: string
begin
if CurStep=ssDone then
begin
// 指定新的卸载文件名(不包含扩展名),请相应修改!
NewUninsName := '卸载'
// 应用程序名称,与 [SEUTP] 段的 AppName 必须一致,请相应修改!
MyAppName := '自定义卸载文件名示例程序'
// 以下重命名卸载文件
uninspath:= ExtractFilePath(ExpandConstant('{uninstallexe}'))
uninsname:= Copy(ExtractFileName(ExpandConstant('{uninstallexe}')),1,8)
RenameFile(uninspath + uninsname + '.exe', uninspath + NewUninsName + '.exe')
RenameFile(uninspath + uninsname + '.dat', uninspath + NewUninsName + '.dat')
// 以下修改相应的注册表内容
if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1') then
begin
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1', 'UninstallString', '"' + uninspath + NewUninsName + '.exe"')
RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1', 'QuietUninstallString', '"' + uninspath + NewUninsName + '.exe" /SILENT')
end
end
end
运行保护中吧 你可以任务管理器那关闭,或者解锁后在试试(如图) 然后是找到文件夹,删除或粉碎 可以用类似腾讯电脑管家的工具粉碎 打开腾讯电脑管家——工具箱——文件粉碎 你还需要清理下注册表,这样就OK了欢迎分享,转载请注明来源:内存溢出
评论列表(0条)