草庐IT

inno-setup

全部标签

xml - Inno Setup 根据自定义输入修改 XML 文件

我不太熟悉pascal,但我有一个脚本可以检测是否安装了java,如果没有安装它。然后它将一个Jboss文件夹复制到用户选择的目录。我想让用户输入一些数据库IP/模式信息,然后获取这些值并将其放入Jboss目录内XML文件中的正确命名空间中。发现一些线程说您可以附加到它,但我想我可能需要能够解析xml文件。 最佳答案 您可以使用MSXMLDOM来查找和编辑节点(参见包含的CodeAutomation.iss示例)或使用LoadStringFromFile()将简单的字符串替换为虚拟文件和标记>/StringChange()/Save

xml - 创新设置 : how to replace a string in XML file?

这个问题在这里已经有了答案:InnoSetup-Howtosaveanodeinaspecificline(1个回答)关闭8年前。以下(引号内)是我的包中的一个XML文件的内容。我想在安装过程中替换c:\path\myapp.exe的值(使用用户选择安装应用程序的真实路径。那可能吗?怎么办?

xml - 如何在 Inno Setup 中读写 XML 文档节点值?

我想读取XML文件的一些节点并在一些自定义输入字段中显示它们的值。然后,用户可以根据需要更改这些值,并通过单击Next按钮将这些值保存回XML。如何在InnoSetup脚本中执行此操作? 最佳答案 使用CreateOleObject实例化标准的函数MSXML2.DOMDocument对象。以下脚本显示了如何从下面发布的XML文件加载和保存单个节点的文本值(脚本本身的灵感来自MSDN中的示例):[Code]varCustomEdit:TEdit;CustomPageID:Integer;functionLoadValueFromXML

windows - 允许用户在 64 位 Windows 上安装 32 位版本

我有一个简单的inno-setup脚本,它允许我的设置根据Is64BitInstallMode值安装程序的32位或64位版本。这很好用,但我想为用户提供安装32位版本的选项,即使他们在64位Windows上也是如此。我想在选择应用程序安装路径之前做出选择,以便它可以根据他们的选择默认为32位或64位程序文件文件夹。如果它们在32位Windows上,我也想完全避免这个问题。我一直在玩各种功能,但还没有找到一种方法来做到这一点。如果我不能轻松完成,我将只进行两个单独的安装(我正在尝试确定最有意义的安装!)非常感谢任何建议! 最佳答案 我

windows - 我可以使用 win32 Setup API 检测 USB 设备何时插入或拔出吗?

我正在查看http://msdn.microsoft.com/en-us/library/aa376947(v=vs.85).aspx的引用资料(设置API引用)和http://msdn.microsoft.com/en-us/library/windows/hardware/ff549791(v=vs.85).aspx(驱动程序设置API引用)并且我没有看到一个函数可以让我注册一个函数,该函数将在特定设备/硬件ID/驱动程序key/或任何出现时被调用。有人知道我会怎么做吗?理想情况下,我想在用户空间中进行这种检测,但如果有必要,我可以在内核空间中进行检测。

windows - InnoSetup - 为默认子项添加值?

如何将默认值数据添加到子项?例如:[Registry]Root:HKLM;Subkey:"Software\My";ValueType:string;ValueName:"(Standaard)";ValueData:"{app}"我如何确定我添加到默认值的{app}值?取决于操作系统语言,例如我的语言是Nederlands,我有一个默认key(标准),但在英语中,此key可以是(默认)或对于其他语言,它可能是随机的。 最佳答案 已解决-ValueName如果为空则使用默认值[Registry]Root:HKCU;Subkey:"S

windows - inno setup创建的vb脚本快捷方式出错

编辑:我几乎没有对问题进行编辑,最后描述了问题的原因。我已经使用Inno构建了一个设置。执行开始的主文件是一个vbs文件。我已将Inno设置为使用自定义图标在桌面上创建快捷方式。但是安装后快捷方式给出了文件丢失的vbs错误。如果我转到主vbs文件并直接运行或在桌面上手动创建该vbs文件的另一个快捷方式,我可以多次运行该快捷方式。那么问题出在哪里。是Inno的问题还是某些脚本问题。这是vbs脚本(它的目的是启动一个批处理文件,但在打开批处理命令时不显示cmd窗口)SetWshShell=CreateObject("WScript.Shell")WshShell.Runchr(34)&"r

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

我正在开发一个shell扩展DLL。我想使用InnoSetup安装程序安装它。我看到安装程序问,如果我想用程序安装shell扩展,我想使用InnoSetup安装程序进行类似的操作。我该怎么做呢?如果没有,你能指引我走上正确的道路吗?几天来我一直在搜索有关此的任何信息。 最佳答案 shell扩展只是一个带有COM类的DLL。所以只需部署它并使用regserverflag注册它:[Files]Source:"myext.dll";DestDir:"{app}";Flags:regserver另见RegisterExplorerCOMex

windows - 执行上一版本的卸载程序导致系统重启后恢复安装程序

我有一个相当标准的InnoSetup安装程序。卸载运行时,需要重新启动,它会删除服务并注销DLL。我有一些代码可以检测旧版本的软件(感谢stackoverflow)。如果检测到旧版本并且用户想要安装新版本:调用卸载程序软件已卸载系统(正确)重启系统启动,我重新登录现在应该发生的事情(恕我直言)是安装程序应该从它停止的地方继续,即。将新版本安装到与旧版本相同的文件夹中。但它没有,什么也没有发生。我已经阅读了帮助文件,检查了开关(尽我所能)并询问了Google博士,但没有任何结果。我的问题:是否可以这样做,即。重启后继续安装,如果是这样,如何?这是我的(以及大部分stackoverflow

windows - 可以编辑 InstallShield setup.exe 的 list 文件吗?

我遇到了此处描述的WindowsVista/7程序兼容性助手问题:"Thisprogrammightnothaveinstalledcorrectly"messageinWindows7RC解决方案(由其他地方和MSDN支持的类似问题)显然是在setup.exe的list中添加“兼容性”部分。InstallShield10SP1会自动执行此操作,但遗憾的是我只有InstallShield2009。我将如何编辑list?有没有办法以编程方式执行此操作,以便我可以将其集成到我的构建中? 最佳答案 查找名为setupexe.*.manif