Articles of inno setup

如何在使用Inno Setup进行安装和卸载时运行批处理

我想用batch file安装服务: testapp\apache\apache_installservice.bat testapp\mysql\mysql_installservice.bat testapp\apache\apache_uninstallservice.bat testapp\mysql\mysql_uninstallservice.bat 我已经尝试了batch file,他们正常工作。 我需要知道的是,如何在安装Inno安装程序的同时运行安装batch file? 以及如何运行卸载batch file,同时卸载应用程序?

Inno – 防止registry键被redirect到Wow6432Node

在我的Inno安装程序中,我正在编写一些registry项: RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Google\Chrome\NativeMessagingHosts\com.mycompany.myapp', '', ExpandConstant('{app}\{#MyAppChrome}')); RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Mozilla\NativeMessagingHosts\com.mycompany.myapp', '', ExpandConstant('{app}\{#MyAppChrome}')); 它会自动将它写入Wow6432Node下的键,这很好。 但火狐预计它不在Wow6432Node下: 视窗 对于全局可见性,请使用以下名称创build一个registry项: HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla \ NativeMessagingHosts \键应该有一个默认值,这是清单的path。 请注意,不应在Wow6432Node下创build此密钥,即使该应用程序是32位。 浏览器将始终在registry的“本机”视图下查找密钥,而不是32位模拟。 要确保在“本机”视图中创build密钥,可以将KEY_WOW64_64KEY或KEY_WOW64_32KEY标志传递给RegCreateKeyEx。 请参阅访问备用registry视图。 那么,我怎样才能防止与Firefox相关的registry项的redirect。

Inno Setup:如何从Config.xml文件更新AppVersion 值

我想通过parsingVersion标签,在编译时从config.xml文件更新[Setup]部分的AppVersion值。 Config.xml文件具有以下configuration: <?xml version="1.0" encoding="utf-8"?> <Configuration> <Version>1.0.1</Version> </Configuration> 我的应用程序使用应用程序版本的config.xml文件。 我也想在Inno Setup安装程序版本中使用相同的版本。 我是Inno Setup脚本开发的新手。 如果有人提供我正确的做法,这将是非常有益的。

如何处理Inno Setup中的空格?

我想允许带空格的path(感谢微软,教育每个人,程序实际上是“程序” 文件“!)安装我的程序与Inno安装程序时,但具有空格的path让我安装的服务崩溃。 Inno Setup文件如下所示: [Setup] AppName=Demo DefaultDirName={pf}\demo [Files] Source: "bin\nssm.exe"; DestDir: "{app}" Source: "bin\jdk1.8.0_152\jre\*"; DestDir: "{app}\jre"; Flags: recursesubdirs Source: "build\libs\demo.jar"; DestDir: "{app}" [Run] Filename: "{app}\nssm.exe"; Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar""" Filename: "{app}\nssm.exe"; Parameters: "start demo" “nssm.exe”是一个服务包装器来执行一个Java应用程序作为一个Windows服务。 关于这个问题的部分是这样的: Filename: "{app}\nssm.exe"; Parameters: "install demo ""{app}\jre\bin\java.exe"" -jar ""{app}\demo.jar""" 正如在这个问题/答案build议,我试图使用双双引号,但这并没有帮助,服务仍然崩溃。 如果我将DefaultDirName更改为不含空格的path, DefaultDirName预期方式运行。 DefaultDirName=c:\demo 我如何处理空间的path?

Inno Setup刷新桌面

是否可以使用Inno Setup在[Code]部分刷新桌面? 要么通过使用SendMessage或以某种方式使用SHChangeNotify?

允许用户在64位窗口上安装32位版本

我有一个简单的inno-setup脚本,允许我的安装程序根据Is64BitInstallMode值安装我的程序的32位或64位版本。 这很好,但我想给用户select安装32位版本,即使他们在64位Windows上。 我希望在select应用程序安装path之前做出select,以便可以根据自己的select默认select32位或64位程序文件文件夹。 如果他们在32位窗口,我也想完全避免这个问题。 我一直在玩各种function,但还没有想办法做到这一点。 如果我不能轻松做到这一点,我会做两个单独的安装(我试图决定什么是最有意义的!)任何build议,非常感谢!

InnoSetup – 将值添加到默认的子项?

如何将默认的ValueData添加到子项? 例如: [Registry] Root: HKLM; Subkey: "Software\My"; ValueType: string; ValueName: "(Standaard)"; ValueData: "{app}" 我如何确保我添加到默认值的{app}值? 根据不同的操作系统语言,比如我的是Nederlands,我有一个默认的键(Standaard),但是在英语语言中这个键可以是(Default)或者其他语言可以是随机的。

由inno setup创build的vb脚本的快捷方式出错

编辑:我做了很less的编辑问题,最后描述问题的原因。 我已经使用Innobuild立了一个设置。 从执行开始的主文件是一个vbs文件。 我已经设置了Inno在桌面上创build一个自定义图标的快捷方式。 但安装后的快捷方式给出文件丢失的VBS错误。 如果我去主要的VBS文件,并直接运行或在桌面上手动创build该VBS文件的另一个快捷方式,我可以运行该快捷方式多次。 那么问题在哪里。 是Inno的问题还是一些脚本问题。 这里是vbs脚本(其目的是启动一个batch file,但不显示cmd窗口,同时打开批处理命令) Set WshShell = CreateObject("WScript.Shell") WshShell.Run chr(34) & "run.bat" & Chr(34), 0 Set WshShell = Nothing 我不知道vbs,这个脚本是在互联网上。 所以如果脚本有一些明显的问题,请帮我修改。 我得到的确切的错误是: Script: C:\Admin\start.vbs Line: 2 Char: 1 Error: The system cannot find the file specified. Code: 80070002 Source: (null) 这是我在Inno中使用的脚本 ; Script generated by the Inno Setup Script […]

使用图标作为文件types,但不要用程序打开

假设有一个文件types(例如.abc),目标是使用自定义图标来表示它可以被我们的程序打开,但是我们不希望它被直接传递给程序(即程序支持这个作为后期导入,而不是直接开放)。 在Windows和OSX上这将如何完成? 使用InnoSetup for Windows。 OSX安装程序目前尚未确定,但PKG或DMG路线应该没问题… 作为参考,这里是InnoSetup的页面指示如何在将文件传递给程序的情况下执行此操作: http : //www.jrsoftware.org/isfaq.php#assoc 下面是一篇文章,介绍如何在OSX上进行这种直接关联: https : //apple.stackexchange.com/questions/15030/how-can-i-add-a-new-application-to-the -开放-有菜单

用Inno Setup安装程序安装Windows shell扩展DLL

我正在开发一个shell扩展DLL。 我想使用Inno Setup安装程序进行安装。 我看到安装程序问,如果我想要安装程序的shell扩展,我想用类似Inno Setup安装程序的东西。 我怎么去做这个? 如果没有,你能否指引我走向正确的道路。 我一直在寻找有关这方面的任何信息的日子。