inno-setup

How to display custom text message on a progress page?

烈酒焚心 提交于 2020-01-03 05:34:11
问题 How can I display a custom text area on a progress page in InnoSetup ? In the following picture I've marked the area which I would like to fill with some text (it wouldn't mind if the progress bar would be moved to bottom and the text area would be placed above it): The custom message has to be added on the welcome Page !(the first Page) -(Black Circled area) 回答1: Sample for Installing Page: [CustomMessages] CustomMessage=This is my custom message! Lorem ipsum dolor sit amet, consectetur

Inno Setup Edit installed file according to user preferences

别来无恙 提交于 2020-01-03 05:06:09
问题 So I've been struggling with this problem for a few days now. Currently making an installer for our company software but the customer has to be able to fill in a URL that gets saved in the app.exe.config. I've been through a lot of googling and found this piece of code that I edited. var CustomEdit: TEdit; CustomPageID: Integer; function LoadValueFromXML(const AFileName, APath: string): string; var XMLNode: Variant; XMLDocument: Variant; begin Result := ''; XMLDocument := CreateOleObject(

How to access registry of a remote machine in Inno Setup

*爱你&永不变心* 提交于 2020-01-03 04:55:07
问题 I have Inno Setup installers that I use to update computers at customer sites. Generally there are two computers, but sometimes three or more. All are networked, and exactly one is headless. It is relatively easy to run the installer on all the headed (if that's the opposite of headless?) workstations, thus running all tasks associated with those computers. There are also tasks that need to be performed on the headless workstation. Generally, these are quick, simple tasks (copying small files

How to update multiple XML nodes in a loop with Inno Setup?

不问归期 提交于 2020-01-03 04:44:05
问题 I have to update a XML node that appears more than once, using Inno Setup. How to do so? For instance: I have to update <details> nodes (while I don't know how many nodes there are) <server name="A"> <details>id=5 gid=10</details> </server> <server name="B"> <details>id=5 gid=10</details> </server> Thank you 回答1: This is modified version of code by @TLama from an answer to How to read and write XML document node values? In addition to his code, this version can update multiple nodes matching

Create installer with Inno Setup faster

柔情痞子 提交于 2020-01-03 03:46:24
问题 When I run Inno Setup on a large set of files (>2GB), it takes a long time to run. I believe it is spending its time in the compression, which should be CPU bound, but it is only using a couple of CPUs. Is there a way to spread this across (many) more cores? Specifically, I'm working with this boost-release repository, which has an Inno Setup script that includes: [Setup] .... Compression=lzma2/ultra64 .... [Files] Source: "boost_1.69.0/*"; DestDir: "{app}"; Flags: ignoreversion

Inno Setup Disable Next button using multiple validation expressions (when input value matches one of multiple values)

风流意气都作罢 提交于 2020-01-03 03:31:05
问题 I have this code working ... procedure ValidatePage; begin WizardForm.NextButton.Enabled := (CompareText(InputPage6.Values[EditIndex2], 'Admin') <> 0); end; procedure EditChange(Sender: TObject); begin ValidatePage; end; procedure PageActivate(Sender: TWizardPage); begin ValidatePage; end; But I want to add more validations. Example: If you have not allowed EX12345 or EX54321 . WizardForm.NextButton.Enabled := (CompareText(InputPage6.Values[EditIndex2], 'EX12345') <> 0); and WizardForm

How to clear user's app data folders with Inno Setup?

佐手、 提交于 2020-01-03 03:30:15
问题 When I uninstall my app with my Inno Setup uninstaller, the runtime files created in the user's AppData folder remain. Is it possible to remove them? 回答1: you can create a CurUninstallStepChanged routine to perform any custom action you want, like deleting files on the system during uninstall. Take a look at this example (from this question): procedure CurUninstallStepChanged (CurUninstallStep: TUninstallStep); var mres : integer; begin case CurUninstallStep of usPostUninstall: begin mres :=

Dynamically choose between per-user and per-machine installation [duplicate]

天涯浪子 提交于 2020-01-03 02:21:57
问题 This question already has answers here : Specify the registry uninstall key location/hive via [Code] (2 answers) Make Inno Setup installer request privileges elevation only when needed (2 answers) Closed 2 years ago . I'm using Inno Setup to deploy an application. For most cases, a per-user installation that doesn't require admin privileges is fine. However, there are scenarios where I need to install the app for all users, e.g. for Citrix or TSE. Unfortunately it doesn't seem possible to

Inno Setup: How to remove Abort from regserver error?

拜拜、爱过 提交于 2020-01-03 02:19:25
问题 I was wondering, if there is a way to make the message box displayed, when occurs an error from regserver flag in Files section, to show only Retry and Ignore option, not the Abort one. I know there's a flag noregerror . I don't want to not show the error. I want to show it, but with only two options. Sometimes when the error is displayed while trying to register an OCX/DLL, when the user clicks in Retry , it works in the second time. If the user clicks in Cancel , the installer rollbacks

Adding post-install radio option to do nothing when installer has finished

大城市里の小女人 提交于 2020-01-03 02:17:27
问题 Some time back I had this question. Some of that code is repeated here: procedure RebuildRunList; var RunEntries: array of TRunEntry; I: Integer; begin { Save run list ... } SetArrayLength(RunEntries, WizardForm.RunList.Items.Count); for I := 0 to WizardForm.RunList.Items.Count - 1 do begin RunEntries[I].Caption := WizardForm.RunList.ItemCaption[I]; RunEntries[I].Checked := WizardForm.RunList.Checked[I]; RunEntries[I].Object := WizardForm.RunList.ItemObject[I]; end; { ... clear it ... }