草庐IT

setup_hardware_state

全部标签

windows - 如何从 Inno Setup 安装程序的注册表中获取 Office 的安装目录

我正在为MicrosoftOffice创建一个安装程序,特别是2007-2013版本。它只是复制两个Office目录中的一些文件。我的Windows是64位的,但我想为x64和x86架构创建一个安装程序。因此我编写了以下代码,试图从Windows注册表中获取Office的安装路径。而且,对于每个版本的Office(2007-2013),它采用安装路径并附加我需要的其余路径。这就是我想要的结果。[Code]functionGetHKLM():Integer;beginifIsWin64thenbeginResult:=HKLM64;endelsebeginResult:=HKEY_LOC

windows - Inno Setup 组件之间的动态依赖

我有三个组成部分。其中两个都依赖于第三个。当检查其他两个组件中的任何一个以进行安装时,是否有一种编程方式可以自动选中第三个组件的复选框?此行为类似于嵌套组件的行为,但它们处于同一级别,我无法使用该功能。如果Inno提供一种组件间依赖关系的方法,那就太好了,但在那之前......更新也许我设想的一个虚构的例子会有所帮助:[Components]Name:"parent1";Description:"app1"Name:"parent2";Description:"app2";Depends:parent1Name:"parent2\child";Description:"feature"

windows - 通过 Inno Setup 运行安装的应用程序时如何关闭安装窗口?

我正在使用InnoSetup安装WinForms实用程序,它工作正常。有一个小问题让我们的用户非常恼火:在安装的最后一步,InnoSetup建议启动刚刚安装的实用程序。大多数用户希望立即启动并且(我也是)。问题是InnoSetup的设置窗口在用户关闭已安装的实用程序之前不会关闭。此外,除非先关闭已安装的实用程序,否则无法关闭设置窗口。附图演示了已安装的实用程序(右侧图标)和Inno的设置图标(左侧)。那么如何解决这个问题呢?请指教。谢谢此问题出现在所有Windows上:XP、7、2003、2008等。 最佳答案 您需要添加nowai

windows - 如何在 Pascal Script/Inno Setup 中使用 WinAPI 中的 PathCombine()?

我正在尝试了解如何使用PascalScript/InnoSetup中的WinAPI函数。我没有找到太多代码示例如何去做,而且我不是Pascal程序员。这是我到目前为止所做的:导入函数functionPathCombine(pszPathOut:PChar;pszPathIn:PChar;pszMore:PChar):PChar;external'PathCombineA@Shlwapi.dllstdcall';并像这样使用它:functionInitializeSetup():Boolean;vara,b,c:PChar;s:string;beginSetLength(s,256);{

windows - Inno Setup 安装程序的文本编码错误

我的安装程序(InnoSetup)对于某些Windows安装有错误的俄语文本编码。所有机器都装有WindowsXPSP3(英文版),但在某些机器上可以使用,有些则不能。Windows上有什么设置可以修复它吗?谢谢 最佳答案 我的猜测是您使用的是InnoSetup的非Unicode版本。安装程序编码错误的机器可能没有将俄语设置为旧版(非Unicode)编码。在WindowsXP控制面板中,选中“区域和语言选项”。在高级选项卡上检查“非Unicode程序的语言”设置的是什么。这可以是与WindowsUI语言不同的语言。如果我是正确的,工

php - 通过 PHP、SQL STATE IM004、驱动程序在 SQL_HANDLE_ENV 上的 SQLAllocHandle 与 SQL Server 的连接错误

我已经对我的问题进行了搜索和谷歌搜索,但我仍然没有找到答案。我的问题是当通过PHPPDO/ODBC连接连接到我的SQLServer数据库时,我总是收到错误消息:“[Microsoft][ODBCDriverManager]SQL_HANDLE_ENV上的驱动程序SQLAllocHandle失败,SQLConnect中的SQL状态IM004”.但是我与Oracle或MySQL数据库的连接完全没有问题,只有SQLServer数据库。这是我测试连接的代码:$dbh=null;try{$dbh=newPDO('oci:dbname='.TNS,DB_USERNAME,DB_PASSWORD,n

c# - 使用 Inno Setup 安装具有不同配置的同一 Windows 服务的多个实例

我是编程和编码方面的新手,我被要求多次安装一项服务,并且要求它们具有不同的配置文件。事情是这样的:我需要用不同的名称安装同一个服务两次每个服务必须读取不同的配置文件在配置文件中,我有两个服务需要不同的连接设置。该服务只是从另一个Controller检索信息,但他们需要从两个不同的Controller接收信息,这就是为什么他们要求拥有具有不同配置文件的同一服务的两个不同实例。我被这个困住了。我知道这两项服务必须有不同的名称。但是我如何使用Innosetup安装它们并让它们读取两个不同的配置文件?该服务是使用#C、.NETFramework4.5.2制作的我有1个实例的简单安装程序:[Fi

windows - 使用 Inno Setup 安装 IIS

我正在尝试使用InnoSetup安装IIS,但出现了各种错误。我在DOS上尝试了命令并且有效:start/wpkgmgr/iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-ManagementService;IIS-CGI;IIS-RequestFiltering;IIS-ASPNET;IIS-HttpLogging;IIS-NetFxExtensibility;IIS-HttpErrors;IIS-DefaultDocument;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-S

C#/.NET : Reporting subprocess state to the parent service

我目前有一个运行多个子进程的服务(使用System.Diagnostics.Process)。每个子流程可以运行数小时并处于特定的预定义状态(想想“开始”、“工作”、“清理”等-完全预定义,无需报告附加到每个状态的自定义数据)。每个进程不能是单独的Windows服务(可能的状态比Windows服务状态多)。我需要以某种方式将此状态报告给父服务。所有进程都在同一台Windows机器上运行。我需要能够从其他进程(不是由服务启动的进程)查询子进程状态,并更新有关来自这些子进程的每个子进程状态的父服务。每个进程都有一个唯一的ID,因此其他进程可以轻松读取状态,而无需自己管理进程。所有进程共享一

windows - Inno Setup - 如何在线验证序列号

使用InnoSetup,setup.exe被提供给客户,根据契约(Contract)他只能使用2016和2017。但是在01-01-2018他应该无法继续与2017年同系列。如何让innosetup的setup.exe限制为from和todate?[Setup]#defineSerialNumber"2017"UserInfoPage=yes[Code]functionCheckSerial(Serial:String):Boolean;beginResult:=Serial='{#SerialNumber}';end;setup.exe被执行已插入许可证key提交后,我想检查URLh