草庐IT

Setup语法糖

全部标签

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

Windows TASKKILL 语法问题

这么多年过去了,您可能会认为我已经完成了某种类型的Windows批处理文件。但你错了。我正在更新批处理文件并遇到以下语句:TASKKILL/F/FI"WINDOWTITLEeqSIMRH*"/IMperl.exe为什么同时使用/FI和/IM?这两个子句是连在一起的吗?如果我离开/IM,正确的进程就会被杀死。唯一有意义的方法是,如果它们结束并仅终止具有该窗口标题且是perl.exe任务的任务。 最佳答案 是的,它们已添加!/IM将杀死具有不同进程ID的所有任务/FI对其应用过滤器。你可以用这样的东西来测试它:@echoofffor/L

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

windows - 在批处理文件中编写循环的语法

我正在尝试为我经常执行的任务编写一个小的批处理文件。我以前从未使用过for,这是我第一次尝试这个。这是我到目前为止所带来的:for/f%iin('ctfind.-verlbtype(%1)-print')doctlsvt-g%i基本上,它会尝试查找具有给定cleracase标签的所有文件,然后显示这些文件的版本树。问题出在%1中。但是,当我有时尝试运行它时,它会给我一个错误,提示-print)不是预期的,或者有时它只是在命令提示符下打印此命令。我猜它在多个括号之间变得困惑。有什么线索可以解决这个问题吗? 最佳答案 尝试在for中引用

windows - 通过批处理语法查询 Windows 注册表

我正在尝试查询特定的注册表文件夹(或任何你想称呼的文件夹)以获取一些信息。特别是HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall文件夹包含已安装软件的列表。问题是每个软件都是通过随机键值识别的,例如{0001B4FD-9EA3-4D90-A79E-FD14BA3AB01D}而不是实际的软件(例如Skype).这使得很难找到Skype标识符,因为我需要遍历此Uninstall文件夹中的所有内容并检查DisplayName值对应于Skype(或任何其他应用程序名称)。我需要使用批处理语法...这是我

windows - Inno Setup 刷新桌面

是否可以使用[Code]部分中的InnoSetup刷新桌面?是使用SendMessage还是以某种方式使用SHChangeNotify? 最佳答案 您可以通过在适当的DLL中调用WindowsAPI中的任何函数来调用它。PascalDLL语法已记录here.SHChangeNotify的文档像往常一样在MSDN上可以找到函数。此函数位于Shell32.dll中(不足为奇!)。[Code]constSHCNE_ASSOCCHANGED=$08000000;SHCNF_IDLIST=$00000000;procedureSHChange

windows - 语法错误使用 Windows 替换 ("\\", "\") 作为 Python 中的文件路径

我正在尝试将路径分隔符的双正斜杠更改为单正斜杠。该程序读取一个文本文件,其中包含包含路径的文件列表。我也在使用Windows框。f=open('C:/Users/visc/scratch/scratch_child/test.txt')destination=('C:/Users/visc')#readinputfilelinebylineforlineinf:line=line.replace("\\","/")#splitthedriveandpathusingos.path.splitdrive(drive,path)=os.path.splitdrive(line)#split

windows - 使用 Inno Setup 将序列号写入文件

我正在尝试让以下InnoSetup代码工作:[Setup]UserInfoPage=yes[Code]functionCheckSerial(Serial:String):Boolean;beginResult:=true;SaveStringToFile('c:\Registration.txt',Serial,False);end;当在UserInfoPage中知道文件路径时,代码非常简单。然而,当我需要在我的应用程序旁边写这个文件时,它变得异常复杂。两者都不是:WizardDirValue();也不ExpandConstant('{app}');工作。第一个在过早调用时是空的,第

Windows 批处理文件不能在语法中使用变量

我想在for循环中使用一个可变的skip参数,但它不让我这样做。这是我的代码@echooffsetlocalENABLEDELAYEDEXPANSIONset/ptestcase=这里的skip是skip=1,但是不跳过任何一行。当我用skip=1替换它时。然后它工作正常,但我想跳过变量号。每次迭代中的行数。请帮忙。 最佳答案 我认为对于这种逻辑,唯一的选择是子程序:@echooffsetlocalENABLEDELAYEDEXPANSIONset/ptestcase=FOR/F选项的参数化有点棘手..虽然我没有您文件的内容,但我无

windows - Inno Setup - 在 "Send to"上下文菜单中创建快捷方式

如何使用InnoSetup在“发送到”文件夹中创建指向我的程序的链接,以便它显示在Windows资源管理器的“发送到”上下文菜单中?已经有一个directoryconstant对于“发送到”文件夹,但我如何在那里创建链接? 最佳答案 与任何其他快捷方式一样,使用[Icons]section中的条目:[Icons]Name:"{usersendto}\MyProg";Filename:"{app}\MyProg.exe"在InnoSetup5.6.1中,{sendto}常量已重命名为{usersendto}。