Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inno setup 如何检查和修复InnoSetup项目中的组件?_Inno Setup - Fatal编程技术网

Inno setup 如何检查和修复InnoSetup项目中的组件?

Inno setup 如何检查和修复InnoSetup项目中的组件?,inno-setup,Inno Setup,我正在开发一个InnoSetup项目,我想知道如何始终安装组件(比如“Acrobat Reader”),但不允许取消选中组件列表中的该项。 我不希望用户取消选中它。通常,当所选安装类型在其条目的参数中列出时,会选择组件。因此,如果您在那里列出所有可用的安装类型,它将始终处于选中状态 要禁用该组件,以便用户无法修改其状态,您需要包含条目的标志 因此,要使用默认安装类型(在本节中未指定自己的安装类型时使用)创建一个禁用的、始终选中的组件,您可以编写如下条目: [Components] Name: "

我正在开发一个InnoSetup项目,我想知道如何始终安装组件(比如“Acrobat Reader”),但不允许取消选中组件列表中的该项。

我不希望用户取消选中它。

通常,当所选安装类型在其条目的参数中列出时,会选择组件。因此,如果您在那里列出所有可用的安装类型,它将始终处于选中状态

要禁用该组件,以便用户无法修改其状态,您需要包含条目的标志

因此,要使用默认安装类型(在本节中未指定自己的安装类型时使用)创建一个禁用的、始终选中的组件,您可以编写如下条目:

[Components]
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed

在您的评论中,您询问了如何禁用任务条目。据我所知,没有直接的方法可以做到这一点,我唯一能想到的方法就是在事件代码中做到这一点:


很抱歉,该操作被定义为任务,并且任务没有“固定”标志。所以我需要定义一个具有该标志的组件。谢谢,是否可以修复任务?如何检查项目?我尝试使用
Check:1
Check:True
但它们会导致编译错误。我添加了一个如何禁用任务项的示例。但是我更喜欢用逗号来做这个。关于第二个问题,如何检查哪一项?组件或任务?
[Tasks]
用于“执行此操作”;
[Components]
用于“安装此操作”。很适合强制安装第三方商业应用程序!这是一个例子。。我需要安装一组常用的必选库。。
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Tasks]
Name: something; Description: "Install something"

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
  // the ItemEnabled property uses a 0 based index for item access, so the following
  // code you can read as, if we have entered the tasks selection page, disable the
  // first tasks list item
  if CurPageID = wpSelectTasks then
    WizardForm.TasksList.ItemEnabled[0] := False;
end;