Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: GRom V
Дата сообщения: 30.10.2007 05:48
Victor_Dobrov
Огромнейшее СПАСИБОЧКИ!!!

Добавлено:
Victor_Dobrov

[Setup]
AppName=VideoOnBackground
AppVerName=VideoOnBackground
CreateAppDir=false

[Code]
var BackgroundForm: TForm;

function ShowWindow(hWnd, nCmdShow: LongWord): LongWord; external 'ShowWindow@user32.dll stdcall';
function mciSendString(lpstrCommand: String; lpstrReturnString, uReturnLength, hwndCallback: Integer): Integer; external 'mciSendStringA@winmm.dll stdcall';
procedure BackgroundOnActivate(Sender: TObject); Begin if WizardForm.Visible then WizardForm.Show End;

Procedure InitializeWizard;    var errorCode: Integer; MyVideoFile: String;
    Begin
MyVideoFile:= 'Video.AVI'    //    ваш фильм, клип, слайдшоу и т.п.
BackgroundForm:= TForm.Create(nil)
    if not FileExists(MyVideoFile) then Exit;
    BackgroundForm.BorderStyle:= bsNone;
    BackgroundForm.OnActivate:= @BackgroundOnActivate;
    ShowWindow(BackgroundForm.Handle, sw_ShowMaximized)    // фоновое окно на полный экран
        mciSendString('open '+ MyVideoFile +' alias AVIFile parent '+ IntToStr(BackgroundForm.Handle) +' style child',0,0,0)
        mciSendString('put AVIFile window at '+ IntToStr(BackgroundForm.Left) +' '+ IntToStr(BackgroundForm.Top) +' '+ IntToStr(BackgroundForm.Width) +' '+ IntToStr(BackgroundForm.Height),0,0,0)
        mciSendString('play AVIFile repeat',0,0,0)        //    повторять бесконечно
End;

Procedure DeinitializeSetup;
Begin
    mciSendString('Close AVIFile',0,0,0) { закрыть AVI-файл}
    BackgroundForm.Free
End;




Вопросик: Video.AVI ложится в ту же папку что и данный скрипт?
Автор: Dust112
Дата сообщения: 30.10.2007 10:35
Обновился innounp, распаковывает версию 5.2.2
Автор: Shaman2
Дата сообщения: 30.10.2007 12:58
где его скачать?
Автор: GRom V
Дата сообщения: 30.10.2007 13:49
Victor_Dobrov
с видеофайлом разобрался, но выскакивает такая байда -
вывод видеоизображений недоступен, не найдена программа распаковки 'vids:
Как решить эту боль?
Автор: Victor_Dobrov
Дата сообщения: 30.10.2007 14:00
GRom V

Цитата:
Video.AVI ложится в ту же папку что и данный скрипт?

MyVideoFile:= ExpandConstant('{src}\..\Video\Video.AVI') // пример: C:\Programs\Install.exe; C:\Video\Video.AVI
MyVideoFile:= ExpandConstant('{src}\Video\Video.AVI') // пример: C:\Programs\Install.exe; C:\Programs\Video\Video.AVI

Цитата:
вывод видеоизображений недоступен, не найдена программа распаковки vids:

Надо открыть папку с видеофайлами в плейлисте CoronaSkin, те видеофайлы, которые будут показываться в фоне и можно использовать. Ну и неплохо бы установить последний K-Lite Codec Pack, где в настройках переключить все видеоформаты на проигрывание через ffdshow.

P.S. А зачем приводить мне листинг моего же скрипта???
Автор: GRom V
Дата сообщения: 30.10.2007 14:37
разобрался - все изза кодека.....
Кстате видео в данном случае проигрывается не в фоновом режиме, а на первом плане. Как сднлать чтоб проигрывалось в фоновом?
Автор: ashtroy
Дата сообщения: 30.10.2007 16:03
Dust112
что-то не видно на офф-сайте... дал бы линк чтоли..
Автор: Midway
Дата сообщения: 30.10.2007 17:20

Цитата:
Обновился innounp, распаковывает версию 5.2.2

Скачать
Автор: sklart
Дата сообщения: 30.10.2007 17:36
Здравствуйте!
Вопрос: Нужно при установке чтоб инсталлятор определял, есть ли на компе логический диск D или нет, и если нет - то вывод сообщения.
Подскажите пожалуйста, как это реализовать?
Автор: Flash667
Дата сообщения: 30.10.2007 20:20
Умоляю залейте на какой нибудь хостинг который не требует регистрации. Возможно оно не качает потому что я с Украины , а вы из Росии , мне очень нужна эта программа , пожалуйста сделайте доброе дело , умоляю вас

Добавлено:
У меня мир с 19 00 , по вашему в 20 00 до 8 утра у меня мало времени что б с вами пообщяться , пожалуйста залейте на хостинг. Умоляю
Автор: cdman67
Дата сообщения: 30.10.2007 21:39
2 Flash667:

http://up.spbland.ru/files/071030131/
Автор: Cryzer
Дата сообщения: 30.10.2007 22:31
http://forum.ru-board.com/topic.cgi?forum=5&topic=24767&start=200#8
Ответьте на мой вопрос!
Автор: Flash667
Дата сообщения: 30.10.2007 23:17

Цитата:
2 Flash667:

http://up.spbland.ru/files/071030131/


КАК Я ТЕБЕ БЛАГОДАРЕН! СПАСИБО ДРУГ!
Автор: Victor_Dobrov
Дата сообщения: 31.10.2007 00:21
GRom V

Цитата:
видео в данном случае проигрывается на первом плане. Как сделать, чтобы проигрывалось в фоновом?

Используй Corona Skin, его проигрыватель позволяет открывать папки с видео и звуковыми файлами.
Автор: iTASmania_Inc
Дата сообщения: 31.10.2007 01:06
Cryzer
А если проверять через Pos или Copy только наличие BSPlayerFile, не указывая для проверки расширения?
Автор: Victor_Dobrov
Дата сообщения: 31.10.2007 01:34
Обновил шапку и первый пост - Добавлено зеркало для CoronaSkin и ссылки на Слайдшоу и InnoSetup_Upgrade

Flash667
Автор: Shaman2
Дата сообщения: 31.10.2007 01:37
Появились 2 вопроса:

1) как защитить инсталл от вскрытия, чтобы экзешники или базу нельзя было вытащить без установки?
2) требуется в инсталл включить список пользователей, при установке спрашивать имя пользователя и после установки запускать одну программу (с инсталла) с параметром: имя этого пользователя. Как это сделать?
Автор: Victor_Dobrov
Дата сообщения: 31.10.2007 02:40
Shaman2, по первому вопросу:

[Setup]
AppName=MultiUser
AppVerName=MultiUser
CreateAppDir=false

[Code]
var ErrorCode: Integer; explorer: String;

Procedure CurPageChanged(CurPageID: Integer);
Begin    if CurPageID <> wpWelcome then Exit;
    Case GetUserNameString of
        'user1':    MsgBox('Действие пользователя user1' , mbError, MB_OK);
        'user2':    MsgBox('Действие пользователя user2' , mbError, MB_OK);
    end else MsgBox('Действие для прочих пользователей' , mbError, MB_OK);
End;

2) примеры шифрования есть в Руководстве от Kindly и скрипте CoronaSkin
Автор: GRom V
Дата сообщения: 31.10.2007 04:59
Victor_Dobrov
В твоем скрипте есть такая строка
Exec(ExpandConstant('{tmp}\SBSlideShow.scr'), '/P ' - есть ли еще какие нибудь параметры запуска SBSlideShow.scr ?
Автор: noiseless
Дата сообщения: 31.10.2007 10:47
Сорри за повтор, но ответа так и не было...

All
Необходимо установить программу под правами админа на компьютере пользователя. Хотелось бы сделать так, чтобы при запуске инсталлятора появлялось окошко с предложением запуска установки с правами админа (т.е. после выбора контекстного пункта "Запуск от имени..."). В сам инсталлятор проверку прав админа я добавил, но при запуске не админом инсталлятор выдает сообщение "Для запуска необходимы права администратора" и прекращает установку, а хотелось чтобы он предлагал запуск от другого имени. Можно ли так сделать?
Автор: SSchumi
Дата сообщения: 31.10.2007 10:56
Не подскажите, как сделать, чтобы деинсталятор, если в какой-то папке есть только строго поределенный файл и он там единственный, то удалить файл и саму папку?
Автор: Unc1e
Дата сообщения: 31.10.2007 11:01
SSchumi, попробуй так

[UninstallDelete]
Type: files; Name: "{app}\MYPROG.INI"
Type: dirifempty; Name: "{app}"
Автор: Igrock2007
Дата сообщения: 31.10.2007 11:51
Too All!!!
Доброго времени суток!
Не подскажите, можно ли в inno на кнопки "повесить" звук - mp3, wav, ogg не имеет значения. Если можно на каждую кнопку свой звук "повесить", то вообще отлично.
В [Code] я пока ещё плохо разбираюсь... ;-(
Автор: Victor_Dobrov
Дата сообщения: 31.10.2007 12:00

Цитата:
есть ли еще какие нибудь параметры запуска SBSlideShow.scr ?

Параметры командной строки скринсэверов: (не все программы поддерживают ключ /P)
/A число - Изменение пароля, который будет использован для выхода из заставки (Win9x). Число идентифицирует хэндл окна.
/C[:число] - Конфигурация заставки. Если число указано, оно идентифицирует хэндл окна.
/P (/L) число - Предварительный просмотр. Число идентифицирует хэндл окна, в котором заставка создаёт дочернее, заполняющее всю клиентскую область родителя, и выполняет в нём необходимую прорисовку (как и в полноэкранном режиме).
/S - Запуск заставки в полноэкранном режиме.
Автор: Cryzer
Дата сообщения: 31.10.2007 16:06
iTASmania_Inc

Цитата:
А если проверять через Pos или Copy только наличие BSPlayerFile, не указывая для проверки расширения?

Хм... идейка понравилась - так удобней! Но я не совсем понял, как реализовать. Можешь привести пример?
Меня немного расстраивает тот факт, что моя строчка чувствительна к регистру... А вдруг у пользователя будет BSpLaYeRFiLe?
Автор: Genri
Дата сообщения: 31.10.2007 17:27
Cryzer
Цитата:
...расстраивает тот факт, что моя строчка чувствительна к регистру...
-- сам же и ответил Приводи к одному регистру и сравнивай:

Код:
if (Uppercase(ExpandConstant('{reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.3gp,ProgID}')) = Uppercase('BSPlayerFile.3gp')) then
....
Автор: Cryzer
Дата сообщения: 31.10.2007 18:23

Цитата:
-- сам же и ответил Приводи к одному регистру и сравнивай:

Ты меня не понимаешь. У меня на данный момент в условие написаны 2 варианта:
Код: if (ExpandConstant('{reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.3gp,ProgID}') = 'BSPlayerFile.3gp') or
(ExpandConstant('{reg:HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.3gp,ProgID}') = 'BSPlayerFile.3GP') then
Автор: Genri
Дата сообщения: 31.10.2007 18:53
Cryzer -- еще раз: я рекомендую использовать приведение к одному регистру (например к верхнему), используя для этого функцию Uppercase.
В моем примере, к верхнему регистру приводятся обе части, и левая и правая. Т.е. вне зависимости от того, в каком регистре будет запись в реестре (BSplaYeRFiLe, BSPlayerFile или как-то еще), сравниваться будут следующие строки:

BSPLAYERFILE.3GP = BSPLAYERFILE.3GP

т.е. никаких сравнений по "или" больше не надо
Автор: NightW0lf
Дата сообщения: 31.10.2007 19:59
Genri
Проверь почту, плиз.
Автор: Cryzer
Дата сообщения: 31.10.2007 20:48
Genri
Теперь понял. Спасибо, получилось!

Но вот другая ситуация:

Код: if (RegQueryStringValue(HKEY_CURRENT_USER, 'Software\Classes\.3gp', '', String)) and (String = 'BSPlayerFile.3GP') then

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Поиск в WinDjView


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.