Inno Setup安装问题之文件拷贝

lrk23932 2010-11-26 03:13:48
我想在安装的过程中,在安装界面上设置一个按钮。
按钮上写着“注入licence”~然后我们点击这个按钮以后,弹出对话框,让我们能够在本地电脑里寻找licence这个文件,找到以后点确定,确定以后,就把licence文件拷贝到一个指定的目录下~这样我们程序启动的时候就可以读取这个licence了

这个需要怎么做?各位有思路吗?
...全文
728 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flamkuavos 2011-01-05
  • 打赏
  • 举报
回复
拷贝的函数就叫“CopyFile”,详见帮助
flamkuavos 2011-01-05
  • 打赏
  • 举报
回复
方法1:创建一个默认就有浏览按钮的页面
var
DataDirPage: TInputDirWizardPage;
procedure InitializeWizard;
begin
{ Create the pages }

DataDirPage := CreateInputDirPage(wpSelectDir,
'选择花样设计存放目录', '您要将花样设计文件存放在哪里?',
'选择用于存放花样设计的目录, 然后单击“下一步”。',
False, '');
DataDirPage.Add('');

{ Set default values, using settings that were stored last time if possible }

DataDirPage.Values[0] := GetPreviousData('DataDir', '');
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
I: Integer;
begin
{ Validate certain pages before allowing the user to proceed }
if DataDirPage.Values[0] = '' then
DataDirPage.Values[0] := 'F:\电脑花样';
Result := True;
end;

function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
var
S: String;
begin
{ Fill the 'Ready Memo' with the normal settings and the custom settings }
S := S + NewLine + NewLine;

S := S + MemoDirInfo + '(软件安装目录)' + NewLine;
S := S + Space + DataDirPage.Values[0] + '(花样设计存放目录)' + NewLine;

Result := S;
end;

function GetDataDir(Param: String): String;
begin
{ Return the selected DataDir }
Result := DataDirPage.Values[0];
end;


方法2:响应按钮的OnClick事件,然后调用BrowseForFolder函数
Pascal 脚本: BrowseForFolder
语法:
function BrowseForFolder(const Prompt: String; var Directory: String; const NewFolderButton: Boolean): Boolean;

描述:
显示一个用户选择目录的对话框。目录默认值是初始选择的目录。如果 NewFolderButton 为 True,将显示一个新建文件夹按钮。如果用户选择了一个目录并单击确定后返回 True,否则返回 False。选择的目录返回到目录字符中。
Think-In-C 2010-12-02
  • 打赏
  • 举报
回复
顶起。。。。2,3楼都有解了。
xingyongjian 2010-11-29
  • 打赏
  • 举报
回复
[Setup]
LicenseFile=[path]\授权许可.txt
;不知道您是不是看的明白!!!
sghff110 2010-11-28
  • 打赏
  • 举报
回复
到这里会得到答案:
http://bbs.hanzify.org/thread-htm-fid-48.html
课程亮点       本课程是PySide6零基础入门与项目实战视频教程,经过精心设计,分为十个章节,制作了141页ppt, 接近70个代码示例,主要讲解PySide6开发环境安装、基础控件与界面布局、项目实战,PySide6程序打包,安装包制作,安装卸载、更新,发布等知识。涵盖从基础概念到高级应用的全方位知识,旨在为你提供一条清晰、系统的学习之路。无论你是编程新手,还是希望深化对PySide6的了解,本课程都能满足你的需求。       教学环境:Win11 64bit、Python3.11、PyCharm、Anacoda。课程大纲第一章:基础篇 PySide6开发环境安装        从Anaconda环境配置开始,带你快速入门Win11/win10下PySide6、PyQt5开发环境的安装与配置,分别介绍PyCharm与VSCode如何配置PySide6,  以及Python AnaConda的基本用法,创建虚拟环境,安装python模块。第二章 控件与布局篇 PySide6常用控件与界面布局使用介绍        深入PySide6中的常用控件与界面布局技巧,通过丰富的实例,掌握PySide6的窗口、布局、控件等核心内容。主要介绍QLabel、QPushButton、QLineEdit、QCheckBox、QComboBox、QTextEdit、QTextBrowser、QListView与QListWidget、QStackedWidget、QTabWidget、QTableView等控件以及水平垂直布局,弹簧控件,栅格布局,表单布局。第三章 信号槽与事件机制       解锁PySide6的信号槽机制和事件处理技能,让你的应用更加灵活。详细介绍Qt自定义信号槽,跨窗口传递信号;Qt鼠标事件,键盘事件,组合事件,事件过滤。第四章 QMainWindow应用篇       详细介绍QMainWindow的使用,包括菜单栏、工具栏、状态栏和停靠窗口等。第五章 样式表qss与自定义控件        教你如何使用样式表美化应用界面,并创建独特的自定义控件。掌握这些技能后,学员将能够设计出既美观又功能丰富的用户界面。第六章 图表与曲线        引入pyqtgraph,展示如何在PySide6应用中绘制图表和动态曲线。第七章 数据库编程        带你进入数据库编程世界,使用sqlite3与PySide6结合,进行数据存储和管理。第八章 项目实战:高仿有道词典        通过一个高仿有道词典的项目,将所学知识融会贯通,实战演练。课程中将会接入翻译接口,开发一个属于自己的翻译软件。第九章 打包与部署       教你如何将PySide6项目打包成exe,并使用Inno Setup制作安装包,介绍软件更新、卸载策略,让你的应用轻松上线。第十章 课程总结        回顾整个课程的学习内容,巩固知识点,为进一步的学习和应用打下坚实的基础。教学特色       实战案例:每个章节都配备实战案例,让学习者在实践中深化理解。       代码资料全覆盖:提供全套课程代码资料下载,便于学习者随时查阅和复习。       高效学习路径:课程内容结构清晰,由浅入深,适合不同层次的学习者。       本课程提供全部代码与在线答疑。谁应该学习这个课程       对图形界面开发感兴趣的编程新手。       希望提升个人技能,进入或者深耕在GUI开发领域的开发者。       需要快速掌握PySide6进行项目开发的软件工程师。结语        通过本课程的学习,你不仅能掌握PySide6的核心技能,还能通过实战项目提升解决实际问题的能力,最终让你能独立完成专业的GUI应用开发。随着技术的深入,你将发现PySide6不仅仅是一个工具库,它开启的是一扇通往高效、美观应用开发的大门。        开始PySide6的学习之旅,让你的编程之路更加精彩!
文本编辑器,支持文本编辑,比较,FTP编辑,FTP上传下载,加密,十六进制编辑,列模式,回行显示,正则表达式,多行查找和替换,代码折叠,关键字高亮显示,编辑400GB的大文件,比较100GB的大文件,对超过1G的大文件排序,删除重复,执行自定义脚本自动修改文件。 PilotEdit 中文多语特别版PilotEdit 中文多语特别版 PilotEdit 中文版- 功能 1. PilotEdit支持超过400G的文件 >编辑超过400GB(400亿行)的文件 >上传/下载超过4G的FTP文件 >加密/解密超过4G的文件 >比较超过4G的文件 2. 全面支持UNICODE文件和DOS/UNIX文件 >快速改变多个文件的编码 >在不同编码的文件拷贝文字时自动调整文字编码 3. 自定义的文件类型和关键字高亮显示 >支持超过20种文件类型 >支持自定义文件类型 >对不同的文件类型定义不同的TAB和缩进 比如,您可以定义当用户按TAB键时,在C/C++中输入TAB键,而在Java文件中输入四个空格 4. 十六进制编辑模式 >在十六进制编辑模式中可以很方便地插入,修改,删除,拷贝,粘贴 >十六进制编辑模式查找和替换 >当从十六进制编辑模式切换回文本模式时自动检测文件类型 >在十六进制编辑模式和文本模式中无限的undo/redo 5. 列模式 >键盘输入的字符将被插入到列模式中所有选中的行 >如果粘贴一行文字,这行文字将被插入到列模式中所有选中的行 >如果粘贴多行文字,这些文字将被逐行被插入到列模式中选中的行 6. 无限的undo/redo >在十六进制编辑模式和文本模式切换后仍然可以无限次地undo/redo 7. 回行显示 >即便在编辑一个几百MB的文件时,切换到回行显示仍然非常迅速 8. 编辑FTP文件 >打开和保存FTP文件 >删除多个FTP文件和目录 >上传/下载多个FTP文件和目录 9. 基于多行的查找和替换 >查找/替换多行文本 >用正则表达式查找/替换多行文本 10. 文件比较和合并 >比较两个基本点目录 >比较合并两个文件 >在文件比较窗口中直接编辑文件 >当文件内容改变时文件比较窗口自动更新比较结果 >在文件比较窗口中查找/替换 >查找上一个/下一个不同的文本块 >将所有相同/不同的行拷贝到剪贴板。通过这个功能,我们可以很方便地找出第一个文件中存在而第二个文件中不存在的行 11. 自定义字符串表 >单击即可添加一个自定义的字符串 >在所选文本的前后分别添加自定义的字符串 12. 正则表达式 >用正则表达式查找/替换多行文本 13. 脚本文件 >可以把常用的正则表达式定义在脚本中,直接运行脚本即可替换文字 14. 256位 AES加密/解密 >用PilotEdit直接透明地编辑一个加密的文件 >加密/解密多个文件和目录 >加密/解密超过4G的文件 15. 文件组 >双击文件组可以快速打开多个文件 16. 在多个目录中查找/替换 >支持多行的查找/替换 17. 排序 >按升序/降序排序 >按文本或数字排序 >按一列数据排序 >按正则表达式排序 18. 查找/删除重复的行 >在打开的文件中查找/删除重复的行 >按文本或数字比较 >按一列数据比较 >按正则表达式比较 19. 收集字符串 >将匹配正则表达式字符串拷贝到的剪贴板。比如,我们可以把一个文件中所有的Email地址拷贝到剪贴板。 20. 将打开的文件用原目录结构另存为新文件 >同时拷贝选中的文件和目录结构 21. 编辑SFTP文件 >打开和保存SFTP文件 >删除多个SFTP文件和目录 >上传/下载多个SFTP文件和目录 PilotEdit支持以下操作系统 Windows 2000 Windows 2003 Windows XP Windows Vista Windows 7 Windows 2008 Windows 8 PilotEdit不支持Win98和 WinNT. PilotEdit支持以下和更多文件类型: C, C++ Files Java Files HTML Files XML Files Oracle SQL Files UNIX/Linux Shell Files JSP TCL/TK Files BAT files PilotEdit Script Javascript Files PHP ASP Assembly ASP.NET CSS Visual Basic Perl C# Python Ruby XHTML Files COBOL AHK Script Inno Setup Script AutoIt Script
VC++ MFC 经典教程 - 基础篇 1.CP_YourFirstWindowsProgram.mp4 10.MFC_GDI_画直线和曲线.mp4 11.MFC_GDI_画椭圆_多边形及其他形状.mp4 12.MFC_GDI_画笔和画刷.mp4 13.MFC_GDI_画文本和字体.mp4 14.MFC_GDI_备用对象和取消选定.mp4 15.MFC_Ruler.mp4 16.MFC_窗口滚动条.mp4 17.MFC_Accel.mp4 18.MFC_Accel(2).mp4 19.MFC_消息框.mp4 2.Windows_编程模型.mp4 20MFC_客户区鼠标消息.mp4 21.MFC_TicTac-1.mp4 22.MFC_TicTac-2.mp4 23.MFC_TicTac-3.mp4 24.MFC_鼠标滚轮.mp4 25.MFC_捕获鼠标.mp4 26.MFC_VisualKB-1.mp4 27.MFC_VisualKB-2.mp4 29.MFC_菜单.mp4 3.MFC_第一个MFC程序设计.mp4 30.MFC_CButton类.mp4 31.MFC_E_FontView-1.mp4 32.MFC_E_FontView-2.mp4 33.MFC_CEdit类.mp4 34.MFC_MyPad.mp4 35.MFC_对话框_静态文本_编辑框.mp4 36.MFC_对话框_访问控件_7种方法_A.mp4 37.MFC_对话框_访问控件_7种方法_B.mp4 38.MFC_对话框_访问控件_7种方法_C.mp4 39.MFC_对话框_复选框_单选钮.mp4 4.MFC_消息映射.mp4 40.MFC_模态对话框.mp4 41.MFC_非模态对话框.mp4 42.MFC_属性表.mp4 43.MFC_公用对话框.mp4 44.MFC_数组类-1.mp4 45.MFC_数组类-2.mp4 46.MFC_CArray.mp4 47.MFC_列表类.mp4 48.MFC_映射类.mp4 49.MFC_类型指针类.mp4 5.MFC_使用向导快速进行MFC程序设计.mp4 50.MFC_CFile.mp4 51.MFC_CArchive.mp4 52.MFC_四个对象四种方法.mp4 53. MFC_Ruler.mp4 54.MFC_Ruler.mp4 55.MFC_Ruler.mp4 56.MFC_SdiSquares.mp4 57.MFC_Scroll_Ruler.mp4 58.MFC_CHtmlView.mp4 59.MFC_CTreeView.mp4 6.MFC_字符集和TEXT宏.mp4 60.MFC_CListView.mp4 61.MFC_MdiSquares.mp4 62.MFC_动态拆分窗口.mp4 63.MFC_ToolBar.mp4 64.MFC_ToolBar_Ex13a.mp4 65.MFC_StatusBar.mp4 66.MFC_StatusBar_Ex13b.mp4 67.MFC_Rebar.mp4 68.MFC_EZPrint.mp4 69.MFC_Print_Bubble.mp4 7.MFC_建立应用程序.mp4 8.MFC_第一个MFC程序设计(不用向导).mp4 9.MFC_Windows_GDI_设备描述表类.mp4 数据结构与算法_C语言 01.swap.mp4 02.BubbleSort.mp4 03.SelecttionSort.mp4 04.顺序查找.mp4 05.C_DS_折半查找.mp4 06.递归.mp4 07递归算法_折半查找.mp4 08.Permutations.mp4 09.插入排序.mp4 10.快速排序.mp4 11.归并排序.mp4 12.顺序栈.mp4 13.顺序队列.mp4 14.链表的基本概念.mp4 15.单链表的基本运算.mp4 16.循环单链表.mp4 17.双向链表.mp4 18.链式栈.mp4 19.链式队列.mp4 20.基数排序.mp4 21.树.mp4 22.二叉树的存储表示与实现.mp4 23.二叉树的遍历.mp4 24.二叉查找树.mp4 25.红黑树.mp4 26.堆.mp4 27.堆排序.mp4 28.哈希表.mp4 29.图_邻接矩阵

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧