标签: inno-setup

Inno-Setup不允许访问所有注册表项,为什么?

我使用此代码来了解密钥是否存在:

if RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Autodesk') then
begin
  MsgBox('Key exists!!', mbInformation, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)

对于这个例子,它有效,我有消息框,但有了它,它没有:

if RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Autodesk\Maya') then
begin
  MsgBox('Key exists!!', mbInformation, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)

但是"Maya"键存在于我的电脑上.有谁能够帮我 ?

编辑:

实际上,似乎inno-setup不能访问正确的键...例如,使用此代码我列出了所有子键Maya,但是(!)结果是所有子键HKEY_LOCAL_MACHINE\SOFTWARE...

if RegGetSubkeyNames(HKEY_LOCAL_MACHINE, 'SOFTWARE', Names) then
begin
  S := '';
  for I := 0 to GetArrayLength(Names)-1 do
    S := S + Names[I] + #13#10;
  MsgBox('List of subkeys:'#13#10#13#10 + S, mbInformation, MB_OK);
end;
Run Code Online (Sandbox Code Playgroud)

为什么这个HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node关键?

registry inno-setup pascalscript

17
推荐指数
3
解决办法
1万
查看次数

如何让Inno Setup解压缩它安装的文件(所有这些都作为一个安装过程的一部分)

为了节省带宽/空间以及防止意外干扰,数据库产品的安装文件(称之为Ajax)已被压缩(调用该文件"AJAX_Install_Files.ZIP).我想让Inno-Setup"安装" (即,复制)AJAX_Install_Files.ZIP文件到目标,然后将文件解压缩到.ZIP文件所在的同一文件夹中.后续程序将由Inno安装程序启动以实际运行产品安装"Ajax ".

我查看了Inno Setup网站上的文档,FAQ和KB,除了编写Pascal脚本(代码)之外,这似乎不可能 - 这是正确的,还是有任何替代解决方案?

zip inno-setup unzip

17
推荐指数
3
解决办法
2万
查看次数

Inno Setup中序列号的CustomPage

如何使用序列号的编辑框在Inno Setup中创建CustomPage?例如6x5chars还是7x5chars?

在下一个按钮可用之前,脚本应检查是否所有框都已填满.

如果可以实现复制/粘贴功能,如果剪贴板内容与序列号模式匹配,则可以填充所有编辑框,这也是很好的.

inno-setup

17
推荐指数
2
解决办法
1万
查看次数

基于Inno Setup中的可选组件跳过自定义页面

在先前的问题中,我询问了如何使用三个可选组件,其中用户还可以单独指定每个组件的位置(例如,代码部分和两个HTML Web应用程序).@Miral给了我一个很好的答案,我现在已经实现了:
三个用户定义位置的三个组件

我还有一个小小的审美问题.我总是CreateInputDirPage在向导中创建并询问用户.问题出现在wpSelectComponents.

问题:如果未选择组件,如何跳过页面.也就是说,如何跳过我的自定义页面?

我有一种与它有关的感觉ShouldSkipPage().但我不知道PageID我的自定义页面是什么,以及如何测试以查看选择了哪些组件.

function ShouldSkipPage(PageID:Integer):Boolean;

向导调用此事件函数来确定是否应显示特定页面(由PageID指定).如果您返回True,将跳过该页面; 如果您返回False,则可能会显示该页面.

我的脚本如下:

[Components]
Name: "Watson"; Description: "Watson Component"; Types: onlywatson full
Name: "Toby"; Description: "Toby Component"; Types: onlytoby full
Name: "Sherlock"; Description: "Sherlock Component"; Types: onlysherlock full

[Code]
var 
    TobyDirPage: TInputDirWizardPage;
    SherlockDirPage: TInputDirWizardPage;

procedure InitializeWizard;
begin
  TobyDirPage := CreateInputDirPage(wpSelectComponents,
    'Select Location for Toby Web Pages', 'Where should we store the sample Toby application files?',
    'The sample Toby stand-alone map application will be saved …
Run Code Online (Sandbox Code Playgroud)

inno-setup

17
推荐指数
2
解决办法
1万
查看次数

Inno Setup:如何将变量从[Code]传递到[Run]

如何在Inno Setup [Code]中将[Run]部分变量传递给参数?

基本上,我想做以下几点.

  1. 获取并保存用户输入到过程中的变量InitializeWizard.
  2. 将用户输入传递给[Run]部分中的可执行文件

这是我的代码.

[Run]
Filename: "someProgram.exe"; Parameters: ??userInput??

[Code]
procedure InitializeWizard;
var 
  ConfigPage: TInputQueryWizardPage;
  UserInput: String;
begin
  { Create the page }
  ConfigPage :=
    CreateInputQueryPage(
      wpWelcome, 'User input', 'User input',
      'Please specify the following information, then click Next.');

  { Add items (False means it's not a password edit) }
  ConfigPage.Add('Input here:', False);
  { Set initial values (optional) }
  ConfigPage.Values[0] := ExpandConstant('hello');
  { Read values into variables }
  UserInput := …
Run Code Online (Sandbox Code Playgroud)

inno-setup

17
推荐指数
1
解决办法
9539
查看次数

Inno Setup中的文件关联

我正在使用Inno安装程序,并尝试关联位于Program Files (x86)Windows 7中的程序.我有以下内容:

#define MyAppName "MyView"

#define MyAppExeName "MyView.exe"

[Setup]
AppName={#MyAppName}

[Registry]
Root: HKCR; Subkey: ".mpl"; ValueType: string; ValueName: ""; ValueData: "MyView"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyView"; ValueType: string; ValueName: ""; ValueData: "MyView"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MyView\delta.ico"; ValueType: string; ValueName: ""; ValueData: "{app}\GeoView.EXE,0"
Root: HKCR; Subkey: "MyView\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MYVIEW.EXE"" ""%1""" 
Run Code Online (Sandbox Code Playgroud)

为什么协会不起作用的任何建议?

inno-setup file-association

17
推荐指数
3
解决办法
1万
查看次数

使用WiX,Inno Setup和VS2008自动构建版本号

基本上我需要的是一种自动更新WiX产品版本号(带Votive等的3.0)的方法,然后将该版本号放入Inno Setup"bootstrapper"中

我的流程几乎都是自动化的,但版本号仍然需要手动更新,这显然不太理想,但我找不到如何在编译时将值传递给Inno Setup(以及如何引用它们),在WiX项目中,我需要知道如何在Visual Studio 2008中的同一解决方案中引用不同项目的版本号

build-automation inno-setup wix visual-studio-2008

16
推荐指数
2
解决办法
8408
查看次数

Inno设置:添加自定义输入字段

我正在使用Inno Setup(令人惊叹!).我希望自定义安装程序,以便我可以以输入字段的形式接受来自用户的字符串,并可能向其添加消息.

我怎样才能做到这一点?我浏览了一下文档,谷歌搜索并没有多少出现!

谢谢大家的帮助

inno-setup

16
推荐指数
2
解决办法
2万
查看次数

如何使用Inno Setup添加计划任务

我有一个小的控制台应用程序,它安装在我(更大)的应用程序中.使用Inno Setup创建设置,效果非常好.

我希望Inno Setup将一个或多个任务添加到Windows调度程序(启动控制台应用程序).有没有办法做到这一点?

inno-setup

16
推荐指数
2
解决办法
8542
查看次数

如何将版本信息包含到设置输出文件名中?

我有一个带有版本信息的应用程序,我想将其包含在setup输出文件名中.例如,如果应用程序有版本,3.10.1我想获取setup_3.10.1.exe输出文件而不是默认值setup.exe作为Inno Setup生成的输出文件.

是否可以将某个应用程序的版本信息包含到设置输出文件名中?

inno-setup

16
推荐指数
1
解决办法
3496
查看次数