标签: inno-setup

Inno Setup:包含所有子文件夹的文件夹

我在.iss文件中有这一行:

Source: "..\Tcl\*"; DestDir: "{app}\Tcl"; Flags: ignoreversion
Run Code Online (Sandbox Code Playgroud)

包文件夹Tcl.但它只需要文件夹内的文件,但不包含子文件夹Tcl.有没有办法将整个文件夹Tcl与所有子文件夹和文件一起使用?(没有逐行列出所有子文件夹).

Inno Setup 5.4.2.

inno-setup

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

Inno Setup:如何观察变量值或写入调试输出?

在Inno Setup中调试时如何查看变量值?如何打印一些东西来调试输出?

谢谢

debugging inno-setup pascalscript

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

如何使用InnoSetup安装.NET框架作为先决条件?

我有一个类似于Inno Setup的问题:验证是否已安装.NET 4.0,但它似乎略有不同.

[Files]
Source: "dependencies\dotNetFx40_Full_x86_x64.exe"; DestDir: {tmp}; Flags: deleteafterinstall; Check: FrameworkIsNotInstalled
Source: "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll"; DestDir: "{app}\lib"; StrongAssemblyName: "MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, ProcessorArchitecture=MSIL"; Flags: "gacinstall sharedfile uninsnosharedfileprompt"

[Run]
Filename: {tmp}\dotNetFx40_Full_x86_x64.exe; Description: Install Microsoft .NET Framework 4.0; Parameters: /q /norestart; Check: FrameworkIsNotInstalled

[code]
function FrameworkIsNotInstalled: Boolean;
begin
  Result := not RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Microsoft\.NETFramework\policy\v4.0');
end;
Run Code Online (Sandbox Code Playgroud)

如您所见,我正在尝试向GAC注册文件.不幸的是,在某些机器上可能没有安装.NET框架.所以我需要先安装它.无论如何,我尝试注册文件之前,我是否可以强制安装.NET运行时?

.net inno-setup

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

如何在Inno Setup中获得Exec'ed程序的输出?

是否可以获得Exec'ed可执行文件的输出?

我想向用户显示一个信息查询页面,但在输入框中显示MAC地址的默认值.有没有其他方法来实现这一目标?

inno-setup

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

Inno Setup:将桌面图标复选框的默认值设置为true

我正在努力让Inno Setup将复选框设置为true,是否应创建桌面图标.该文档对此问题以及Googlism和Stackoverflow没有任何帮助.

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Run Code Online (Sandbox Code Playgroud)

我的想法是像"标志"一样"检查"的值,但文档告诉我,Flags不对此负责.

inno-setup

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

signtool以inno设置失败:0x80070003 - "Store IsDiskFile()failed"

在签署我的软件时,我遇到了一个奇怪的错误.我正在使用inno setup 4.5.2.

Running Sign Tool command: signtool.exe sign /a /f cert.pfx /v /t "http://timestamp.verisign.com/scripts/timstamp.dll" /p pwd /d "Setup Label" "out\uninst.e32.tmp"
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: Store IsDiskFile() failed." (-2147024893/0x80070003)
Error in W:\path\installer.iss: Sign Tool failed with exit code 0x1.
Compile aborted.
Run Code Online (Sandbox Code Playgroud)

命令行似乎很好,它甚至可以在inno setup compile之外工作.设置SignedUninstaller=no让我走得更远时,在尝试对输出设置文件进行签名时仍会出现此错误.

现在我几乎到处都看到错误代码(0x80070003)和/或消息"Store IsDiskFile()失败".我也尝试过多个版本的signtool.

inno-setup signtool

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

是否可以使用Inno Setup接受自定义命令行参数

我正在准备Inno Setup的安装程序.但我想添加一个额外的自定义(没有可用的参数)命令行参数,并希望获得参数的值,如:

setup.exe /do something
Run Code Online (Sandbox Code Playgroud)

检查是否/do给出,然后获取某事物的价值.可能吗?我怎样才能做到这一点?

command-line inno-setup command-line-arguments

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

将Inno Setup安装程序包装在MSI中以便通过AD更容易分发是否可行/明智?

我们的安装程序是用Inno Setup编写的,我们对它非常满意.然而,一些客户不断要求MSI安装程序,他们可以通过Active Directory更轻松地分发.我们已经花了一些时间,通过/LOADINF使用我们自己的选项扩展Inno Setup的机制,使安装程序与自动化和无人值守安装相得益彰.

为了满足客户要求MSI,我一直在考虑简单地将我们的常规安装程序包装在MSI中,可能是使用WIX创建的.问题是:我可以保持当前安装程序提供的高可配置性吗?在无人值守/大规模安装方案中,如何通过外部MSI公开Inno Setup安装程序的选项?

请注意,我还没有真正深入到实际挖掘MSI创建和WIX的程度.现在我只关心那些知道他们在说什么的人认为这是一种可行/合理的方法来投入我们的能量......

[编辑:]最初我认为我可以使用临时提取和执行方法,即MSI只是用作将Inno安装程序交付到目标PC并在其中以/VERYSILENT-mode 执行的容器.但我想要求MSI的客户也希望能够从中央位置卸载甚至修改安装,我想在那种情况下这是不可能的,不是吗?

PS:我们在这里也有一份WISE for MSI的旧版本,但这种体验实际上就是为什么我们开始使用Inno来开始...

windows-installer inno-setup

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

如何通过脚本检测64位平台

是否有代码来检测64平台,例如

if X86 then ...
if X64 then ...
Run Code Online (Sandbox Code Playgroud)

inno-setup

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

Inno Setup:在继续安装之前安装其他安装程序并运行它

到目前为止,这是我的代码的[Files]部分:

[Files]
Source: "other_installer.exe"; DestDir: "{app}"
Source: "myprogram.exe"; DestDir: "{app}"
Source: "data.dat"; DestDir: "{app}"
Source: "otherdata.dat"; DestDir: "{app}"
Run Code Online (Sandbox Code Playgroud)

我的程序依赖于另一个程序来运行.我在我的安装程序中包含了该程序的安装程序("other_installer.exe").我想要做的是在复制后立即启动此安装程序,然后再继续使用"myprogram.exe"和其他内容.

我用Google搜索并在Inno Setup帮助中找到了BeforeInstall的文档,但他们没有运行其他应用程序的示例.我相信它应该是这样的:

[Files]
Source: "other_installer.exe"; DestDir: "{app}"
Source: "myprogram.exe"; DestDir: "{app}"; BeforeInstall: // RUN OTHER_INSTALLER.EXE //
Source: "data.dat"; DestDir: "{app}"
Source: "otherdata.dat"; DestDir: "{app}"
Run Code Online (Sandbox Code Playgroud)

installer inno-setup

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