Вопрос Создание нужного ярлыка на рабочий стол.

Yaroslav950

Участник
Добрый вечер, как можно не разрешать установщику выводить ярлык на рабочий стол, если выбран нужный Check.

[Icons]
//Eсли пользователь не выбрал какой-то компонент Comp2 and Comp3 и тд во 2 случае, то не создавался ярлык здесь.
Name: {group}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};
Name: {commondesktop}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};

//Если пользователь выбрал компонент, но не создавался ярлык в 2 случае
Name: {group}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: Comp2 and Comp3 and Comp4 and Comp5 and Comp6 and not Icons;
Name: {commondesktop}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: Comp2 and Comp3 and Comp4 and Comp5 and Comp6 and not Icons;
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: Comp2 and Comp3 and Comp4 and Comp5 and Comp6 and not Icons;
 
Последнее редактирование:

Andreo Fadio

Старожил
а так оно не работает?
Код:
Name: {group}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};  Check: Comp2 and Comp3 and Comp4 and Comp5 and Comp6 ;
или вы про что пишете? Попонятней обьяснить, чего хотите в итоге. А то какие-то здесь, 2 случаи.
 

Yaroslav950

Участник
@Andreo Fadio, просто название игры это первый случай, а настройки игры это 2 случай,мне надо,чтобы ярлык не создавался, когда пользователь выбрал компонент comp2, или comp3 ,где у меня настройки игры.
 

Yaroslav950

Участник
@Andreo Fadio, настроек,если выбран компонент,то настройки игры не создавались на рабочий стол, также наоборот.
 
Последнее редактирование:

Andreo Fadio

Старожил
@Yaroslav950, если правильно дошло, то вот так можно:
Код:
[Icons]
Name: {group}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};
Name: {commondesktop}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app};

Name: {group}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: CheckComp(1) and not (Icons and CheckComp(2));
Name: {commondesktop}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: CheckComp(1) and not (Icons and CheckComp(2));
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Check: CheckComp(1) and not (Icons and CheckComp(2));

[_Code]
function CheckComp(UIndex: Integer): boolean;
begin
 case UIndex of
  1: if Comp2 and Comp3 and Comp4 and Comp5 and Comp6 then Result:= True;
  2: if Comp2 or Comp3 then Result:= True;
 end;
end;
 

Yaroslav950

Участник
@Andreo Fadio, но если я не выбираю
компонент (все компоненты - убраны все галочки), то почему настройки не создаются на рабочий стол?.
Icons - здесь не нужен так как я его не создавал в Checkbox.
 
Последнее редактирование:

Andreo Fadio

Старожил
компонент, то почему настройки не создаются на рабочий стол?.
из-за вашего условия:
Код:
if Comp2 and Comp3 and Comp4 and Comp5 and Comp6 then
где нужно Comp2 and Comp3 убрать
Код:
if Comp4 and Comp5 and Comp6 then
и возможно еще, в новом условие and сменить на or
в зависимости от того что вам надо в итоге.
 

Yaroslav950

Участник
@Andreo Fadio,здесь компонент выбран,то есть настройки для игры не надо создавать на первом рисунке, а на втором компонент не выбран - значит мы создаем настройки на рабочем столе.
 

Вложения

Последнее редактирование:

Andreo Fadio

Старожил
@Yaroslav950, так бы и обьясняли...
Код:
[Icons]
Name: {group}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app}; Flags: createonlyiffileexists;
Name: {commondesktop}\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app}; Flags: createonlyiffileexists;
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#GameName}; Filename: {app}\{#Exe}; WorkingDir: {app}; Flags: createonlyiffileexists;

Name: {group}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Flags: createonlyiffileexists; Check: not Comp5;
Name: {commondesktop}\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Flags: createonlyiffileexists; Check: not Comp5;
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\Settings - {#GameName}; Filename: {app}\config.exe; WorkingDir: {app}; Flags: createonlyiffileexists; Check: not Comp5;
 
Сверху