问题标签 [inno-setup]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6665 浏览

guid - 如何在 Inno Setup 中生成新的 GUID?

有没有办法从 Inno Setup 脚本中生成新的 GUID?

0 投票
1 回答
2809 浏览

inno-setup - 卸载最初不是由 INNO 安装程序安装的文件

我使用 Inno Setup 作为我产品的安装程序/卸载程序。我的软件具有自动更新功能,在此期间它不仅可以更改现有的二进制文件,还可以添加新的二进制文件。这些是放置在产品安装目录中的附加产品文件,而不是数据文件。

Inno Setup 卸载程序只知道按照安装时最初放置的名称卸载文件。由于自动更新不会更改构成卸载程序的 unins000.exe 或 unins000.dat 文件,那么在卸载时删除这些新产品文件的适当方法是什么?

0 投票
1 回答
1192 浏览

import - 如何有条件地从 Inno Setup 脚本中的 DLL 导入函数?

我有一个辅助 DLL 和一个在我的安装脚本末尾调用的函数。我只想根据操作系统版本运行它。

我在代码部分包含以下几行:

我编写了一个函数来防止 DLL 被提取,在 [Files] 部分的 DLL 的 Source 语句中添加“Check: IsXPorHigher”。

似乎当安装程序开始时,由于外部语句,它尝试解析外部函数,导致运行时错误(无法导入...),因为我的 DLL 依赖于旧操作系统上不可用的函数。

我可以有条件地在脚本中声明该函数,还是需要为旧版本的操作系统单独安装一个安装程序?我正在努力为所有场景只维护一个脚本。

0 投票
1 回答
9770 浏览

inno-setup - 如何通过 Innosetup 删除桌面快捷方式

如何通过 Innosetup 删除桌面快捷方式?它是由以前的版本创建的,不再需要了。我尝试在 [InstallDelete] 中删除它

并删除 CurStepChanged 事件处理程序的“ssInstall”中的文件

但它们不起作用。任何建议表示赞赏!

0 投票
2 回答
3005 浏览

.net - 我可以在 Inno Setup 中读取 AssemblyFile 信息吗

我想从我的 Inno Setup 脚本中的 application.exe 中读取这三个值。

有谁知道这可能是如何实现的?

我知道我可以使用GetFileVersion("path/to/greatapp.exe")获得最后一个 ,前两个有类似的东西吗?

0 投票
4 回答
1602 浏览

c++ - Windows 受限用户安装

我有一个 Win32 应用程序,其中包括一个 EXE、一个 ActiveX 控件 (DLL) 和一个 COM 服务器 (EXE),我正在使用 Inno Setup 5 来构建我的安装程序。我们的许多客户使用受限的用户帐户,用户没有管理员权限,并且因为需要注册 COM 组件(写入 HKEY_CLASSES_ROOT),我的安装文件必须以提升的(管理员)权限运行。我认为这是不可避免的(遗憾的是,由于我有 EXE COM 服务器,我不能使用免注册 COM)。但是,我想创建一个可以作为受限用户运行的更新安装程序,并正在寻找一些建议。

我的想法如下:

  • 初始设置(首次安装)将应用程序安装到 %ALLUSERSPROFILE%\Application Data\CompanyName\AppName 而不是 %PROGRAMFILES%。COM 组件正常注册(因为它们不存在)。
  • 后续更新(使用不同的 Inno Setup 脚本)将简单地将新文件复制到 %ALLUSERSPROFILE%\Application Data\CompanyName\AppName。希望即使是受限制的用户也可以对该文件夹具有写入权限,并且由于 COM 组件已经注册,因此不需要管理员访问权限。

这意味着我的客户可以升级到最新最好的版本,而无需使用管理员帐户。这是可以接受的还是可能会咬我的后背?我很确定 Google Chrome 会做类似的事情,但由于它没有 COM 组件(据我所知),即使初始设置也可以作为受限用户使用。

确实非常欢迎遇到此问题的其他人提出任何建议。

0 投票
3 回答
7732 浏览

windows - 如何修复 Inno Setup 错误 EndUpdateResource 失败 (110)

编译 Inno Setup 安装程序脚本时出现此错误

行:xx 资源更新错误:EndUpdateResource 失败 (110)

第 xx 行包含

SetupIconFile=pathToIconFile

是什么导致了错误,我该如何解决?

0 投票
5 回答
56061 浏览

c# - Windows 服务的 Inno 设置?

我有一个 .Net Windows 服务。我想创建一个安装程序来安装该 Windows 服务。

基本上,它必须执行以下操作:

  1. installutil.exe(需要吗?)
  2. 运行installutil.exe我的服务.exe
  3. 启动我的服务

另外,我想提供一个运行以下命令的卸载程序:

如何使用 Inno Setup 进行这些操作?

0 投票
1 回答
1294 浏览

dll - Inno Setup:卸载 Dll 服务器

问候,

使用我的应用程序,我为 Windows shell 安装了一个 Dll 服务器。Inno 使用标志“regserver”正确注册和注销服务器。

但是,如果任何资源管理器窗口打开,则该 dll 正在使用中,并且无法被 Inno 删除。如何自动删除 dll 并正确卸载应用程序?

问候, 科斯敏

0 投票
1 回答
496 浏览

sql-server - 使用 sql 2005 为应用程序安装支持文件,其中服务器位于另一台计算机上

我有一个托管 C++ 应用程序,它通过网络连接到同一台计算机上的 SQL Server 2005 Express 数据库。我的问题是,如果数据库位于网络上的另一台计算机上,客户端计算机将不会从 SQL Server 安装所需的 DLL 文件。

我不能强迫我的用户在客户端机器上安装 SQL Server 2005 Express 只是为了获得所需的支持文件。所以我的问题是,将依赖文件安装到用户计算机上的 GAC 是否安全?或者,MS 是否有为此目的的命令行安装包?

我的应用程序显示为依赖的 SQL Server 文件如下:

Microsoft.SqlServer.BatchParser Microsoft.SqlServer.ConnectionInfo Microsoft.SqlServer.RegSvrEnum Microsoft.SqlServer.Replication Microsoft.SqlServer.Rmo Microsoft.SqlServer.ServiceBrokerEnum Microsoft.SqlServer.Smo Microsoft.SqlServer.SmoEnum Microsoft.SqlServer.WmiEnum

如果有帮助,我正在为我的安装程序使用 Inno-Setup 程序。这必须是一个普遍的问题。