Inno setup自定義視窗動態修改配置引數
目標:靜默安裝軟體,動態配置引數
初次使用inno setup ,完全不瞭解pascal語言,網上找了很多資料,很多也很零散,總結整理下,方便大家使用
第一步:按引導建立指令碼,這部分就不描述了
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "setup.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{A026898B-6C4E-41FA-8F26-9067D95C6BE0}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: english; MessagesFile: compiler:Default.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[Files]
Source: C:\Submetering\setup.exe; DestDir: {app}; Flags: ignoreversion
Source: C:\Submetering\uninstall\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: {commonprograms}\{#MyAppName}; Filename: {app}\{#MyAppExeName}
Name: {commondesktop}\{#MyAppName}; Filename: {app}\{#MyAppExeName}; Tasks: desktopicon
[Run]
Filename: {app}\{#MyAppExeName}; Description: {cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}; Flags: nowait postinstall skipifsilent
第二步:建立自定義視窗
var
myPage:TwizardPage;//定義視窗
ed1:TEdit;//定義輸入框
Lbl1: TNewStaticText;//標題
//定義校驗方法,校驗失敗時,下一步按鈕為空
procedure Key_Form_KeyChange(Sender: TObject);begin
if(length(ed1.Text) <= 6) then
WizardForm.NextButton.Enabled := True
else
WizardForm.NextButton.Enabled := False;
end;
//初始化引導 視窗
procedure InitializeWizard();begin
myPage:=CreateCustomPage(wpWelcome, '標題:標題', '描述:描述');
Lbl1 := TNewStaticText.Create(myPage);
Lbl1.Left := ScaleX(5);
Lbl1.Top := ScaleY(5);
Lbl1.Width := ScaleX(250);
Lbl1.Height := ScaleY(50);
Lbl1.Caption := '輸入框標題';
Lbl1.Parent := myPage.Surface;
ed1:=TEdit.Create(myPage);
ed1.Width:=ScaleX(410);
ed1.Top := ScaleY(25);
ed1.Text :='999910';
ed1.Parent:=myPage.Surface;
ed1.OnChange := @Key_Form_KeyChange;//新增校驗方法
end;
//新增步驟
procedure CurStepChanged(CurStep: TSetupStep);var
fileName,tempStr:String;
svArray: TArrayOfString;
nLines,i:Integer;
begin
if CurStep=ssinstall then
//安裝前執行
if CurStep=ssPostinstall then
//複製檔案後執行
begin
//開始修改檔案
fileName := ExpandConstant('{app}\檔名');LoadStringsFromFile(fileName, svArray);
nLines := GetArrayLength(svArray);//讀取檔案
for i := 0 to nLines - 1 do
begin
tempStr := svArray[i];
if (1 = Pos('查詢內容', tempStr)) then//查詢目標行
begin
svArray[i] := ExpandConstant('修改內容'+ed1.Text);//修改行
StringChangeEx(svArray[i], '\', '/', True);
end;
end;
SaveStringsToFile(fileName, svArray, false);
end;
if CurStep=ssDone then
//安裝完成後執行
相關推薦
Inno setup自定義視窗動態修改配置引數
目標:靜默安裝軟體,動態配置引數 初次使用inno setup ,完全不瞭解pascal語言,網上找了很多資料,很多也很零散,總結整理下,方便大家使用 第一步:按引導建立指令碼,這部分就不描述了 ; Script generated by the Inno Setup Sc
Android 動態修改自定義drawable圓角,修改邊線及填充色
最近專案中遇到這樣一個要求,自定義的圓角按鈕,要根據後臺返回的顏色進行自定義顏色修改和邊框修改 這個是我自定xml定義的一個帶圓角邊框的背景 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:andro
VS2017 Linux C++引用自定義的動態庫
++ -1 undefined mage 編譯運行 linux下 lin 套路 log 前一篇博客講了用系統庫libpthread.so的例子,只需要在項目屬性頁的[C++->命令行參數]和[鏈接器->命令行參數]中加上對應參數(比如-pthread)即可,然後
Linux監控(添加自定義監控項,配置郵件告警)
map alt 服務端 網上 send rep pad ima 觸發 一、添加自定義監控項需求:監控某臺web的80端口連接數,並出圖。步驟:1):zabbix監控中心創建監控項目2):針對該監控項目以圖形展現第一步(需要到客戶端定義腳本)[root@zhuji ~]# v
如何做到在webpack打包vue項目後,在外部動態修改配置文件
打包 測試 contex 我們 pro nbsp assets bpa gen 在我們做完vue項目後,只需要執行 npm run dist 就可以輕松進行打包轉測試,可是如果我們臨時需要修改一些配置文件比如域名,這時候我們就有點懵逼了,那就修改了再重新打一次包? NO N
gradle 自定義插件 下載配置文件
con classpath roo user div ase 字符串 rip end 1.新建Gradle項目: 2.建立src/main/groovy目錄,並添加如下代碼: ConfigPlugin.groovypackage com.wemall.config i
zabbix自定義監控腳本配置
web配置 創建 服務器 con 進入 src ram 報警郵件 51cto 實驗環境 環境 IP 服務端 192.168.24.168 客戶端 192.168.24.188 實驗條件: zabbix監控服務器、客戶端都已經部署完成,被監控主機已添加
spring定時任務.線程池,自定義多線程配置
sys wire eight void port itl edm 代碼 .org 定時任務及多線程配置xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfr
Flume NG原始碼分析(二)支援執行時動態修改配置的配置模組
在上一篇中講了Flume NG配置模組基本的介面的類,PropertiesConfigurationProvider提供了基於properties配置檔案的靜態配置的能力,這篇細說一下PollingPropertiesFileConfigurationProvider提供的執行時動態修改配置並生效的
QT自定義視窗
qt 中允許自定義視窗控制元件,使之滿足特殊要求, (1)可以修改其顯示,自行繪製 (2)可以動態顯示 (3)可以新增事件,支援滑鼠和鍵盤操作 自定義控制元件可以直接在QtDesigner裡使用,可以直接加到父窗口裡。 繪製視窗 1.新建一個類,繼承與QWidget或QFrame,最好是繼承於QF
qt 自定義視窗顯示滑鼠劃過的軌跡
滑鼠事件分為四種: 1.按下 2.擡起 3.移動 4.雙擊 滑鼠事件繼承與QWidget void mouseDoubleClickEvent(QMouseEvent *event) void mouseMoveEvent(QMouseEvent *event) void mousePres
mvn spring-boot:run動態修改配置項
背景 配置檔案application.properties有一個配置項server.port=8081,如果專案根目錄下執行命令 mvn spring-boot:run 會啟動8081埠web應用 問題 如果要動態修改成8081,怎麼通過mvn spring-boot:r
記一次logback傳輸日誌到logstash根據自定義設定動態建立ElasticSearch索引
轉:https://www.cnblogs.com/zhyg/p/6994314.html 先說背景,由於本人工作需要建立很多小應用程式,而且在微服務的大環境下,服務越來越多,然後就導致日誌四分五裂,到處都有,然後就有的elk,那麼問題來了 不能每個小應用都配置一個 logstash
PHP通過正則表示式動態修改配置檔案
一、相關的知識點 正表示式 preg_match_all – 進行全域性正則表示式匹配 preg_replace – 執行正則表示式的搜尋和替換 檔案的讀和寫 file_get_contents()–檔案讀取資訊函式 file_put_con
SpringBoot自定義初始化Listener配置
SpringBoot自定義初始化Listener配置 0x01 摘要 在傳統的以Spring-Web程式中,我們會繼承ContextLoaderListener來實現一些早期執行的初始化程式碼。但是現在遷移到Spring-Boot後發現不能這麼做了。本文講講在SpringBoot
手把手教你ExtJS從入門到放棄——篇五(示例1:點選按鈕開啟一個自定義視窗)
例1:點選按鈕開啟一個window,window重複建立的問題 重點分析:這個問題是初學者經常會犯錯的地方,一般來說簡單的程式碼不會產生此問題,但是如果以後程式碼複雜以後,這個問題如果發生除錯起來會非常麻煩!! 不多說,JSP部分程式碼如下 003wind
微信公眾號開發(一) -- 自定義選單 動態選單
簡單修改一下appid、appsecret 程式碼可直接複製使用 自定義選單 //獲取token值 $appid = ''; //微信支付申請對應的公眾號的APPID $appsecret = ''; ////微信支付申請對應的公眾號的APP Key $url = "https://
Qt重新實現QMouseEvent實現自定義視窗可拖動
(1)pro檔案中加入 QT += gui (2)h檔案的類中加入標頭檔案: #include <QMouseEvent> 類中加入函式和變數宣告: protected: void mouseMoveEvent(QMouseEvent* event);
zabbix之自定義使用者數監控模組配置(五)
注:zabbix自定義語法 UserParameter=<key>,<shell command> 一、修改agentd端配置檔案 法一:單獨引出配置檔案 [[email protected] ~]# cd /etc/zabbix/zabbix
unity編輯器擴充套件#1 自定義視窗、面板、和屬性
擼一遍unity官方文件的給的三個案例:https://docs.unity3d.com/2017.4/Documentation/Manual/editor-EditorWindows.html 自定義視窗 首先,要注意和編輯器相關的指令碼都應該把放到Editor資料夾裡,可以有多個E