Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Закрытая тема
Настройки темы
Скрипты Inno Setup. Помощь и советы [часть 6]

Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1274
Благодарности: 1030


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

Пользователь


Сообщения: 144
Благодарности: 3

Профиль | Отправить PM | Цитировать


Johny777, Я так и пытался делать в строчке itd_addfile('http://sayt.ru/1.rar',expandconstant('{src}\1.rar')); src изменил на app, но выскакивает ошибка...

P.S есть ли скрипт который сразу в указанную папку скачает?

Отправлено: 14:42, 13-05-2013 | #431



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Johny777

Ветеран


Сообщения: 649
Благодарности: 444

Профиль | Отправить PM | Цитировать


saurn,
Цитата saurn:
Мой вопрос http://forum.oszone.net/post-2148420-416.html еще актуален)) »
из шапки взял, из той же функции закрепления ярлыка в панели задач:
читать дальше »
Код: Выделить весь код
function ThereIsFile(const FileName: String): Boolean;
var
    oFS: Variant;
begin
    oFS := CreateOleObject('Scripting.FileSystemObject');
    try
        Result := oFS.FileExists(FileName);
    except
        //ShowExceptionMessage;
    end;
end;

procedure InitializeWizard();
begin
    if FileExists(ExpandConstant('{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\') + 'Mozilla Firefox.lnk') then MsgBox('OK', mbInformation, MB_OK);
    //if ThereIsFile(ExpandConstant('{userappdata}\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\') + 'Mozilla Firefox.lnk') then MsgBox('OK', mbInformation, MB_OK);
end;

PS: у тебя тоже вроде правильный путь был, но ни FileExists(...) ни альтернативная ThereIsFile(...)так не считали (аномалия ! ), но сейчас вроде работает и это главное!

=======================================================

by_gangster,
Цитата by_gangster:
P.S есть ли скрипт который сразу в указанную папку скачает? »
в примере что я тебе дал
function DownloadFile(const SourceFile, DestFile: String): Boolean;

и в шапке ещё пример El Sanchez

Последний раз редактировалось Johny777, 13-05-2013 в 15:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:56, 13-05-2013 | #432


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Johny777, дак по этому же принципу и проверял - ноль эмоций. Даже, если ярлык присутствует все равно вызов ShellExec проходит. В шапке еще есть второй пример закрепления ярлыка от El Sanchez, но у меня с ним траблы кое-какие(с скриптом не связаные) потому остановился на этом примере. Но, например, если запустить переустановку, то уже созданный ярлык удаляется.

Отправлено: 15:01, 13-05-2013 | #433


Аватара для Johny777

Ветеран


Сообщения: 649
Благодарности: 444

Профиль | Отправить PM | Цитировать


saurn, насколько я помню код El Sanchez-а порт того самого VBS скрипта, какие траблы у тебя?
function PinToTaskbar(const szFilename: String; IsPin: Boolean): Boolean;
первый входной параметр - путь к файлу, к которому нужно закрепить ярлык, второй - булев значение - закрепить/удалить ярлык
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:09, 13-05-2013 | #434


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


короче по поводу закрепления ярлыка в панели задач семерки задавайте вопросы автору Aleksoid1978
кстати.в inno setup есть скрипт
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirName={pf}\MyApp

[ code]
const
  LOAD_LIBRARY_AS_DATAFILE = $2;

#ifdef UNICODE
    #define A "W"
#else
    #define A "A"
#endif

function LoadLibraryEx(lpFileName: String; hFile: THandle; dwFlags: DWORD): THandle; external 'LoadLibraryEx{#A}@kernel32.dll stdcall';
function LoadString(hInstance: THandle; uID: SmallInt; var lpBuffer: Char; nBufferMax: Integer): Integer; external 'LoadString{#A}@user32.dll stdcall';

//Filename: full path to executable file
//IsPin: False - unpin from TaskBar, True - pin to TaskBar
function PinToTaskbarWin7(Filename: String; IsPin: Boolean): Boolean;
var
  hInst: THandle;
  buf: array [0..255] of char;
  i, Res: Integer;
  strVerb: String;
  objShell, colVerbs: Variant;
begin
  if not FileExists(Filename) then Exit;
  if IsPin then Res := 5386 else Res := 5387;
  if (GetWindowsVersion shr 24 = 6) and ((GetWindowsVersion shr 16) and $FF = 1) then begin
    hInst := LoadLibraryEx(ExpandConstant('{sys}\shell32.dll'), 0, LOAD_LIBRARY_AS_DATAFILE);
    if hInst <> 0 then
    try
      for i := 0 to LoadString(hInst, Res, buf[0], 255)-1 do strVerb := strVerb + Buf[i];
      try
        objShell := CreateOleObject('Shell.Application');
      except
        ShowExceptionMessage;
        Exit;
      end;
      colVerbs := objShell.Namespace(ExtractFileDir(Filename)).ParseName(ExtractFileName(Filename)).Verbs;
      for i := colVerbs.Count downto 1 do if colVerbs.Item[i].Name = strVerb then begin
        colVerbs.Item[i].DoIt;
        Result := True;
        Break;
      end;
      finally
        FreeDLL(hInst);
    end;
  end;
end;

procedure InitializeWizard();
begin
  PinToTaskbarWin7('c:\windows\notepad.exe', True);
end;
вот он и закрепляет иконку,но можно этот скрипт доработать

Последний раз редактировалось habib2302, 13-05-2013 в 19:34.


Отправлено: 17:28, 13-05-2013 | #435


Пользователь


Сообщения: 144
Благодарности: 3

Профиль | Отправить PM | Цитировать


Johny777, А в примере от El Sanchez, можно сделать что бы окно выбора не высвечивалось ?

Отправлено: 18:16, 13-05-2013 | #436


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


люди.я незнаю как вам сказать.короче.как назначить иконку для ярлыка в этом скрипте Закрепить ярлык на панели задач в Windows 7 (вариант №1)

Отправлено: 20:13, 13-05-2013 | #437


Пользователь


Сообщения: 144
Благодарности: 3

Профиль | Отправить PM | Цитировать


habib2302, Я не совсем понял, если иконка инсталла то
Код: Выделить весь код
[_setup]
IconFilename: "{app}\myicon.ico"

Отправлено: 20:17, 13-05-2013 | #438


Ветеран


Сообщения: 517
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата habib2302:
как назначить иконку для ярлыка в этом скрипте »
В качестве иконки ярлыка берется иконка исполняемого файла.

Отправлено: 20:46, 13-05-2013 | #439


Аватара для habib2302

Ветеран


Сообщения: 862
Благодарности: 102

Профиль | Отправить PM | Цитировать


by_gangster, для инсталла я знаю
обрати внимание на выделенный жирным текст "как назначить иконку для ярлыка в этом скрипте"
например вот так
Код: Выделить весь код
IconFilename: {app}\ico.ico;

Отправлено: 20:54, 13-05-2013 | #440



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход