使用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
我正在尝试找出如何更改UNINSTALLER中底部面板的背景颜色以匹配我能够使用我在此处找到的信息为INSTALLER设置的颜色:InnoSetup:Howtochangebackgroundcolor不幸的是,我一直无法找到任何方法来扩展该答案以也包括卸载页面。它非常适合安装,但是当我测试卸载时,我看到了这个:在安装程序中,当下面板的背景颜色改变时,斜面标签的背景也随之改变,但我找不到卸载程序的类似设置。我查看了CurPageID值的列表,似乎没有一个与卸载程序相关,但我希望它被列出或使用与安装程序相同的设置。遗憾的是,两者似乎都不是真的。任何人都可以解释一下正确的方法吗?谢谢!编辑
是否可以使用[Code]部分中的InnoSetup刷新桌面?是使用SendMessage还是以某种方式使用SHChangeNotify? 最佳答案 您可以通过在适当的DLL中调用WindowsAPI中的任何函数来调用它。PascalDLL语法已记录here.SHChangeNotify的文档像往常一样在MSDN上可以找到函数。此函数位于Shell32.dll中(不足为奇!)。[Code]constSHCNE_ASSOCCHANGED=$08000000;SHCNF_IDLIST=$00000000;procedureSHChange
我正在尝试让以下InnoSetup代码工作:[Setup]UserInfoPage=yes[Code]functionCheckSerial(Serial:String):Boolean;beginResult:=true;SaveStringToFile('c:\Registration.txt',Serial,False);end;当在UserInfoPage中知道文件路径时,代码非常简单。然而,当我需要在我的应用程序旁边写这个文件时,它变得异常复杂。两者都不是:WizardDirValue();也不ExpandConstant('{app}');工作。第一个在过早调用时是空的,第
如何使用InnoSetup在“发送到”文件夹中创建指向我的程序的链接,以便它显示在Windows资源管理器的“发送到”上下文菜单中?已经有一个directoryconstant对于“发送到”文件夹,但我如何在那里创建链接? 最佳答案 与任何其他快捷方式一样,使用[Icons]section中的条目:[Icons]Name:"{usersendto}\MyProg";Filename:"{app}\MyProg.exe"在InnoSetup5.6.1中,{sendto}常量已重命名为{usersendto}。
我想在InnoSetup的ssPostInstall步骤中使用PowerShell(64位版本),但它总是打开32位PowerShell。如您在我的脚本中所见,我的InnoSetup配置为64位应用程序。当我开始设置时,我可以在任务管理器中看到它作为32位应用程序运行另外,将要打开的PowerShell也是32位模式。这是我的InnoStup脚本:[Setup]ArchitecturesAllowed=x64ArchitecturesInstallIn64BitMode=x64PrivilegesRequired=admin[Code]ProcedureCurStepChanged(C
在我的[Run]部分的innosetup安装程序中,我想运行一个cmd命令,但这是问题所在。我想运行带参数的exe,“我的程序.exe”安装我想这样运行,但是因为它的名称中有空格,所以我不能在没有“”的情况下运行它,这给了我错误,因为innosetup也有“”。同样我想开始我的服务净启动“我的服务”遇到了同样的问题。 最佳答案 你试过这样的事情吗:Run:"""MyProgram.exe""";根据InnoSetupdocumentation,双引号似乎是一个很好的解决方案 关于wind
我的脚本中有以下代码行,它不是直接调用exe,而是调用一个批处理文件。Exec(ExpandConstant('{app}\App\bin\migrate.bat'),'','',sw_show,ewWaitUntilTerminated,ResultCode);批处理文件看起来像这样(最上面的内容主要用于调试目的,但稍后可能包含某种用户交互)。echo%path%echo%cd%migrate.exeObfuscate.dll/verbose/startupConfigurationFile="..\Web.configpause我是否应该从migrate.exe获取返回码并将其作为
我花了一天的大部分时间搜索、编写并最终废弃了一个脚本,我可以将它与我的InnoSetup安装脚本一起使用,如果需要,该脚本将下载并安装适当的.NET2.0Framework。确实有很多例子,但是它们:想要在需要时安装InternetExplorer,但我不敢以自动方式安装仅处理x86.NET发行版,不支持x64和IA64不要在需要时安装适当的语言包——这是一个棘手的问题(当我看到不同的x86/x64/语言组合有不同的语言包时,我认输了)不要处理获取.NET2.0SP1(也许Windows更新会在安装2.0后处理?)这似乎是一个很常见的问题,有人一定已经解决了它。不过,我只找到了20篇不
我知道我可以轻松地在里面获取消息[CustomMessages]AdditionalIcons=blablabla使用此代码:ExpandConstant('{cm:AdditionalIcons}');它获取AdditionalIcons字符串消息。但是,如何在其中获取消息?[Messages]ButtonNext=huhuButtonInstall=bubu我需要的是获取ButtonNext、ButtonInstall和其他值,使用如下代码无法获取这些值:ExpandConstant('{cm:ButtonNext}');如何查询这些值?相关链接InnoSetupScripttip