13 - 安装脚本Section - [Files]

安装脚本Section

[Files] section

此可选项section定义安装程序要在用户系统上安装的所有文件。

这是[Files]section的部分示例:

[Files]
Source: "CTL3DV2.DLL"; DestDir: "{sys}"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "MYPROG.EXE"; DestDir: "{app}"
Source: "MYPROG.CHM"; DestDir: "{app}"
Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme

有关一些重要说明,请参阅本主题底部的“备注”部分。

以下是受支持的参数的列表:

Source(必填)

源文件的名称。如果未指定完全的路径名​​,则编译器将安装源目录的路径加在前面。

可以是通配符,用于在单个条目中指定一组文件。使用通配符时,与之匹配的所有文件都使用相同的选项。如果指定了标志external,则Source必须是用户系统上现有文件(或通配符)的完整路径名(例如“ {src}\license.ini”)。

常量只能在指定了external标志的情况下使用,因为编译器本身不会进行任何常量转换。

举例:

Source: "MYPROG.EXE"
Sourc
基于GCC/Eclipse的TI CC26xx/CC13xx无线MCU开源开发环境搭建与调试指南 在嵌入式系统开发中,GNU工具链(GCC/GDB)与Eclipse IDE的组合为开发者提供了高度自由、跨平台且透明的开发工作流。其核心原理在于利用GCC编译器将C/C++源码编译为目标文件,再通过链接器脚本精确控制代码和数据在芯片内存(如Flash和SRAM)中的布局,这是嵌入式程序能否正确启动和运行的关键。这套开源方案的技术价值在于,它打破了厂商专属IDE的束缚,让开发者能够深入理解从源码到二进制固件的完整构建过程,特别是对内存映射、启动流程和中断向量表的掌控,这对于优化资源受限的嵌入式系统至关重要。在 阅读详情

相关推荐

Electron 安装包进阶:3 种 NSIS 自定义页面方案对比与选型指南

本文深入探讨了Electron应用开发中NSIS安装向导自定义的三种方案:`include`引入.nsh脚本、`script`完全自定义.nsi脚本以及集成第三方UI美化工具。通过对比分析各方案的灵活性、开发成本和视觉效果,为开发者提供选型指南,帮助优化Electron应用的安装包用户体验。

diaohuyi6830的博客 332

Hermes 0.13升级指南:结构化记忆、动态工具链与根因错误诊断

AI Agent中的‘记忆管理’与‘工具调用’是影响长期稳定运行的两大基础能力。传统方案常将记忆简单堆叠为文本文件,导致检索慢、污染高、OOM频发;工具链则多为线性硬编码,容错差、扩展难。Hermes 0.13通过结构化记忆体(SQLite FTS5+ZSTD归档)、动态工具链编排(运行时拓扑决策)和结构化错误诊断(RCR根因报告),从原理层重构这两大能力——不仅提升响应速度与稳定性,更使Agent具备自主运维意识。典型应用场景包括自动化数据采集、跨源信息比对、长期用户意图建模等。本文聚焦0.13核心机制与

cixu3288的博客 334

Claude Code新手邪修:一键安装+语音增效+云原生部署实战指南

Claude Code是Anthropic推出的面向开发者的AI编程助手,依托大语言模型实现代码补全、解释、重构等能力。其核心原理在于将自然语言指令转化为结构化代码意图,并通过API调用或本地推理执行。技术价值体现在显著降低AI编程工具的使用门槛,提升开发者日常编码效率。典型应用场景包括自动化脚本生成、Excel数据处理、错误诊断与文档编写等重复性高、模式性强的任务。而‘一键安装’与‘语音增效’正是针对环境配置复杂、输入效率瓶颈两大高频痛点提出的工程化解决方案,结合OpenClaw云原生部署,构成2026年

weixin_33694620的博客 690

告别重启!用PyCharm+Plugin Reloader高效开发QGIS插件(附环境配置脚本)

本文详细介绍了如何利用PyCharm和Plugin Reloader插件高效开发QGIS插件,避免频繁重启QGIS的烦恼。通过环境配置脚本和热重载技术,开发者可以实现近乎实时的代码修改与测试,大幅提升开发效率。文章还提供了PyCharm高级技巧和实战案例,帮助开发者构建完整的'编码-测试'闭环。

weixin_30645617的博客 620

Codex科研工作流:AI技能整合驱动论文全流程自动化实践

科研自动化工作流是人工智能技术赋能学术研究的重要应用方向,其核心原理在于通过预定义的技能(Skill)模块,将大语言模型的通用能力转化为针对特定科研场景的专用工具。这种技术架构的价值在于解决了传统科研流程中工具割裂、重复劳动和效率瓶颈等痛点,通过标准化接口串联起文献调研、代码实现、论文写作等环节,形成端到端的自动化管道。在实际应用场景中,科研人员可以基于此类工作流快速验证研究想法、自动化处理批量任务,并保持研究思路与数据的一致性。本文探讨的Codex科研工作流正是这一理念的典型实践,它整合了13个覆盖论文生

weixin_30861459的博客 417

23 - 安装脚本Section - [UninstallDelete]

安装脚本Section [UninstallDelete] section 除了使用[Files]或[Dirs]section条目安装/创建的文件或目录外,此可选项还定义了要卸载程序删除的其他文件或目录。 删除由应用程序创建的.INI文件是本节的一种常用用法。卸载程序将这些条目作为卸载的最后一步进行处理。 这是[UninstallDelete]部分的示例: [UninstallDelete] Type: files; Name: "{win}\MYPROG.INI" 以下是受支持的参数的列表: Type(

eTimeChen的专栏 855

Spyder 中文语言包与自动安装脚本:解决界面汉化与编码乱码难题

Python 开发环境常因默认英文界面和编码不兼容问题劝退初学者,尤其是使用 Anaconda 集成 Spyder IDE 时,菜单难找、报错难懂、中文乱码频发。这种困境背后涉及 Qt 国际化机制、翻译文件加载路径以及 Windows 系统 GBK 编码与 UTF-8 源码的冲突。通过理解 Spyder 基于 Qt Linguist 的语言包加载原理,开发者可以将汉化文件部署到正确的 locale 目录,并借助自动化脚本处理路径识别、权限不足、依赖缺失等安装报错。这类方案不仅帮助新手快速上手,也适用于在多台

weixin_30423065的博客 245

Jenkins中文显示不全?三步搞定Locale插件+汉化包的正确安装姿势

本文针对Jenkins界面中文显示不全问题,提供从原理到实战的深度解决方案。文章详细解析了Locale插件与中文语言包的核心机制,并分步指导如何通过配置JVM环境、正确安装插件及执行深度排查,彻底解决汉化顽疾,实现Jenkins界面的完美中文显示。

weixin_42611310的博客 260

数据产品需求文档(PRD)怎么写?阿里P8分享的模板+5个避坑点

作用:记录文档的版本、作者、评审信息,避免“文档混乱”。填写规范字段说明示例文档名称清晰反映产品名称,如“用户行为分析平台PRD”用户行为分析平台PRD_V1.0文档版本用“版本号+日期”,如V1.0_20240301编写人数据产品经理姓名+联系方式张三(138-XXXX-XXXX)评审人员业务负责人、开发经理、数据分析师、运维负责人李四(业务)、王五(开发)、赵六(数据)、周七(运维)评审时间评审日期2024-03-05评审意见。

架构师的AI之路,分享AI应用开发架构的学习与实践。 1575

卡诺图化简法注意事项+竞争冒险知识点总结

今天反思以下卡诺图化简法中的注意事项。 卡诺图看起来简单,但如果不熟悉的话很容易出错,因此要对画圈的规则比较熟悉。

weixin_42415266的博客 1万+

YOLOv5实战:无人机巡检图片差异对比与违建标记(附完整代码)

本文详细介绍了如何利用YOLOv5目标检测技术实现无人机巡检图片差异对比与违建标记。通过图像对齐、目标检测、差异分析和可视化标记四个步骤,构建高效的违建识别系统,显著提升城市管理效率。文章包含完整代码实现和性能优化技巧,为计算机视觉在无人机巡检中的应用提供实用指南。

weixin_42535720的博客 282

KEGG数据库与KAAS工具:基因功能注释的实用指南

本文提供了使用KEGG数据库与KAAS工具进行基因功能注释的完整实用指南。详细阐述了如何从准备基因或蛋白序列开始,通过KAAS服务器获取KEGG Orthology(KO)编号,并解读注释结果。文章进一步介绍了如何利用KOBAS工具进行通路富集分析,将定性观察转化为定量洞察,并分享了提高注释准确率、处理大数据集及使用API等避坑技巧与高阶方法,为基因组学、转录组学研究者奠定坚实的数据分析基础。

weixin_29292535的博客 391

万字详解YOLOv8网络结构Backbone/neck/head以及Conv、Bottleneck、C2f、SPPF、Detect等模块

YOLOv8是由Ultralytics开发的最先进的目标检测模型,推升了速度、准确性和用户友好性的界限。YOLO这一缩写代表“你只看一次”(You Only Look Once),通过在一次网络传递中同时预测所有边界框,提升了算法的效率和实时处理能力。相比之下,其他一些目标检测技术需要经过多个阶段或过程来完成检测。YOLOv8在流行的YOLOv5架构上进行了扩展,在多个方面提供了改进。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 14万+

AI测试入门:如何测试AI对话模型/智能体?「详细介绍」

作为测试人员,我们需要掌握特定的技能和方法来有效地测试这些复杂的AI对话模型和智能体。传统的软件测试方法在这里可能不再完全适用,我们需要开发新的测试策略和技术来应对AI系统的独特特性。在这篇文章中,我们将深入探讨如何测试AI对话模型和智能体。

blues_C的博客 6862

SPAD IMX479规格_分辨率

当然IMX479具备IMX459几乎全部的数字架构,但也有一个缺点就是贵,这个让头部的主机厂有些犹豫,毕竟大家都在集中火力想把车载LiDAR玩进千元机。如果用一片IMX479是不太可能实现千元内部的,当然国产也在奋起直追,特别在前面的几家SPAD厂商都具备开发IMX479的实力,但相对来说落地可能更是当下所考虑的,IMX479的迭代是基于IMX459,小编已经注意到国内有一两家已经在挑战479的规格了,如果国产SPAD没有大规模量产就直接流片IMX479的规格,可能就有点忽略市场的反馈闭环。

致力于lidar应用开发 2417

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: 12 - 安装脚本Section - [Dirs]
下一篇: 14 - 安装脚本Section - [Icons]
etimechen
博客等级 码龄21年 19粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值