Скрипты Inno Setup. Помощь и советы [часть 9]

Ответить
 • Просмотры: 9
Аватара пользователя
Alex S

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Alex S »

Вопрос снимаю. Опробовал на другом компьютере и всё работает в верхнем и нижнем регистре.

Видать у меня в системе проблемы...

Хотя, если есть у кого-нибудь альтернативные решения буду рад взглянуть!!!
Аватара пользователя
Alex S

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Alex S »

Цитата:



Извиняюсь за любопытство! Через какую программу, и какой ярлык вы хотите видеть?



Ярлык, который должен создастся на Рабочем столе для всех пользователей. Программы, которые должны увидеть ярлык, например, "Экселе" - Файл/Открыть или "Ableton" - File/Open.




Цитата:



Чтобы ярлык виделся в любой программе замените {commondesktop} на {userdesktop}



...но тогда только у текущего пользователя будет ярлык, если я правильно понимаю.

Можно ли создать ярлык все-таки для всех пользователей? И чтобы он был видим и через программы тоже.




Цитата habib2302:



»

Добавьте эту строку.

Код:

[Run]

Filename: "{win}\explorer.exe"; Parameters: "{commonappdata}\Inno\Программа"; Description: "
Скрипты Inno Setup. Помощь и советы [часть 9]




Спасибо!
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Gnom_aka_Lexander »

Alex S, Так не пробовал?



код

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[_Code]
function InitializeSetup(): Boolean;
var
  i, ResultCode: Integer;
begin
  // проверяем с 1, потому что ParamStr(0) всегда будет имя исполняемого файла 
  for i := 1 to ParamCount do
    if LowerCase(ParamStr(i)) = '/v' then
      begin
        Exec(ExtractFileName(ExpandConstant('{srcexe}')), '/verysilent /LANG=english', ExtractFileDir(ExpandConstant('{srcexe}')), SW_SHOWNORMAL, ewNoWait, ResultCode);
        Exit;
      end;
  Result := True;
end;





хотя, если верить справке, именно ключ /LANG может вызвать окно запроса выбора языка.

Можно еще такой вариант попробовать:



код

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[_Code]
function InitializeLanguageDialog(): Boolean;
var
  i : Integer;
  R : Boolean;
begin
  Result := True;
  R := False;
  for i := 1 to ParamCount do
    begin
      R :=  LowerCase(ParamStr(i)) = '/verysilent';
      if R then Break;
    end;
  if R then Result := False; // тут конструкция в виде Result := not R; может криво стработать, поэтому надежнее так.
end;









Так, возможно, более правильно:

[spoiler]Код:
[/spoiler]

Код: Выделить всё

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[_Code]
function InitializeLanguageDialog(): Boolean;
var
  i : Integer;
begin
  Result := True;
  for i := 1 to ParamCount do
    if  LowerCase(ParamStr(i)) = '/verysilent' then
    begin
      Result := False;
      Break;
    end;
end;
Аватара пользователя
Alex S

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Alex S »

Цитата ZVSRus:



Все в вашем скрипте правильно, с константой {commondesktop} ярлыки будут создаваться на всех рабочих столах пользователей.

Если вы имеете ввиду Microsoft Excel то ярлык на рабочем столе виден Файл > Открыть > Рабочий стол (типы файлов: Все файлы)
Скрипты Inno Setup. Помощь и советы [часть 9]




Спасибо за ответ, но к сожалению ярлык с константой {commondesktop} через программу под Win10/7 не виден. (Могу сделать скриншот.) Он виден, если использовать {userdesktop} вместо {commondesktop}, как предложил habib2302. Но такой вариант уже не подойдет.

Может ярлыку для всех пользователей не хватает какого-то атрибута?..
Аватара пользователя
Alex S

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Alex S »

Всё верно, работает.

При таком варианте тихая установка проходит успешно, а вот при запуске установщика в обычном режиме не отображается окно выбора языка...

Предыдущий вариант пока работает нормально. Тестирую дальше...

Спасибо за помощь! Изображение
Аватара пользователя
VLADEV

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение VLADEV »

Цитата ZVSRus:



Из под вашего скрипта установил программу, ярлыки на рабочем столе и в меню пуск создаются.
Скрипты Inno Setup. Помощь и советы [часть 9]




Для полноты картины вот мой Рабочий стол. На нем 2 ярлыка, созданные через Inno. Один создавался для {commondesktop}, другой для {userdesktop}. Оба ярлыка на Рабочем столе. Но программа видит только тот, который был создан для {userdesktop}.
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Gnom_aka_Lexander »

VLADEV, первое - невозможно без применения внешних архиваторов вместо встроенного сжатия . по второму -DSTCOPY = "{app}" нужно заключить в ExpandConstant. либо, как на другом форуме подсказали, использовать WizardDirValue
Аватара пользователя
VLADEV

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение VLADEV »

Цитата ZVSRus:



Вопрос не к Inno Setup, а к вашей ОС
Скрипты Inno Setup. Помощь и советы [часть 9]




Если бы только у меня так было, но проверялся скрипт на других компьютерах тоже. На Win7 - у всех по-разному, на Win10 - у всех, как у меня.

P.S. Win10 стоит лицензионная.
Аватара пользователя
VLADEV

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение VLADEV »

Цитата Nordek:



Ярлыки и папки общего рабочего стола
Скрипты Inno Setup. Помощь и советы [часть 9]




Спасибо. Буду разбираться.
Ответить

Вернуться в «Автоматическая установка приложений»