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

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

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

Сообщение saurn »

Цитата Noname22:



Так просто используйте расширеную версию.
Скрипты Inno Setup. Помощь и советы [часть 6]




Она не собирает мой скрипт Изображение



UPD. Поставил версию ANSI... собрал.
Аватара пользователя
saurn

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

Сообщение saurn »

Всем привет Есть ли возможность вывести в кастомный лейбл имена копируемых файлов(не полный путь, а имя конечной папки и текущего копируемого файла), когда для них установлен флаг external? CurrentFileName, ExtractFileDir, ExtractRelativePath в данном случае не работают.
Аватара пользователя
Johny777

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

Сообщение Johny777 »

saurn, Так можно:


читать дальше »






Код:

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

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application\My Application\My Application\My Application\My Application\My Application\My Application\My Application\My Application\My Application\My Application777
[Files]
Source: {fonts}\*; DestDir: {app}; Flags: external;
[Code  ]
#define A = (Defined UNICODE) ? "W" : "A"
const
    GWL_WNDPROC = -4;
    WM_PAINT = $000F;
type
    WPARAM = Integer;
    LPARAM = Integer;
    LRESULT = Integer;
    TFNWndProc = Integer;
function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';
function CallWindowProc(lpPrevWndFunc: TFNWndProc; hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; external 'CallWindowProc{#A}@user32.dll stdcall';
var
   OldStaticProcAddr: Longint;
function StaticWindowdProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
var
    BuffPath: String;
begin
    if Msg = WM_PAINT then
    begin
        BuffPath := WizardForm.FilenameLabel.Caption;
        WizardForm.Caption := ExtractFilePath(BuffPath) + #32#32 + ExtractFileName(BuffPath);
    end;
    Result:= CallWindowProc(OldStaticProcAddr, hWnd, Msg, wParam, lParam);
end;
procedure InitializeWizard();
begin
    WizardForm.FilenameLabel.Width := WizardForm.FilenameLabel.Width * 7;
    WizardForm.Width := 1400;
    OldStaticProcAddr := SetWindowLong(WizardForm.FilenameLabel.Handle, GWL_WNDPROC, CallbackAddr('StaticWindowdProc'));
end;
procedure DeinitializeSetup();
begin
    SetWindowlong(WizardForm.FilenameLabel.Handle, GWL_WNDPROC, OldStaticProcAddr);
end;





Только вот инно по дефолту укорачивает длинный путь многоточием, чтоб уместить в длину статик текста. Решение - удлинить статик текст.

Для примера отображаю всё в заголовке формы



PS: как вариант копировать через код. Если решение выше не устраивает - говори. Будем делать через код

Максимальный путь в винде равен 260 (+1) символов
Аватара пользователя
Fakt_37

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

Сообщение Fakt_37 »

Цитата mat_y@vk:



отображает все симоволы русские крякозябрами
Скрипты Inno Setup. Помощь и советы [часть 6]




Смотря какая версия inno используется Unicode или ANSI. Просто может быть так, что скрипт Unicode-ной версии запустили на ANSI и получилась такая бяка


читать дальше »




Код:

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

[CustomMessages]
russian.NameAndVersion=%1, версия %2
russian.AdditionalIcons=Дополнительные значки:
russian.CreateDesktopIcon=Создать значок РЅР° &Р*абочем столе
russian.CreateQuickLaunchIcon=Создать значок в &Панели быстрого запуска
russian.ProgramOnTheWeb=Сайт %1 РІ Р˜РЅС‚РµСЂРЅРµС‚Рµ
russian.UninstallProgram=Деинсталлировать %1
russian.LaunchProgram=Запустить %1
russian.AssocFileExtension=Св&язать %1 с файлами, имеющими расширение %2
russian.AssocingFileExtension=Связывание %1 с файлами %2...
russian.AutoStartProgramGroupDescription=Автозапуск:
russian.AutoStartProgram=Автоматически запускать %1
russian.AddonHostProgramNotFound=%1 не найден в указанной вами папке.%n%nВы всё равно хотите продолжить?


не в тему


Кстати пароль нужен? Вон выше выбирайте любой Изображение!
Аватара пользователя
saurn

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

Сообщение saurn »

Noname22, сейчас попробую Unicode собрать.



Ругается на PChar... говорит тип не знает такой.... что делать?
Аватара пользователя
Johny777

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

Сообщение Johny777 »

mat_y@vk, Может стоит попробовать скрипт открыть в Akelpad с подбором кодировки для прочтения [CustomMessages] если в нём дело!? Если в нём то открыть скрипт, подобрать кодировку, просто скопировать секцию из Akelpad, закрыть скрипт, открыть скрипт в inno а потом вставить скопированное!
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Цитата vint56:



type

Pchar =PansiChar;
Скрипты Inno Setup. Помощь и советы [часть 6]




ага... уже сам догнал



type

Pchar =PansiChar;



Noname22,
Цитата Noname22:



Может стоит попробовать скрипт открыть в Akelpad с подбором кодировки для прочтения [CustomMessages] если в нём дело!? Если в нём то открыть скрипт, подобрать кодировку, просто скопировать секцию из Akelpad, закрыть скрипт, открыть скрипт в inno а потом вставить скопированное!
Скрипты Inno Setup. Помощь и советы [часть 6]




Я может не выспался, но этот квест я осилить в воображении не смог.




Цитата Noname22:



Кстати пароль нужен? Вон выше под спойлером выбирайте любой !
Скрипты Inno Setup. Помощь и советы [часть 6]




Моя задача решилась просто установкой версии Ultra
Аватара пользователя
Johny777

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

Сообщение Johny777 »

пересохранил скрипт в Unicode... стало лучше, но не до конца.


читать дальше »


Изображение





Крякозябры идут в том, что описано в секции CODE.



Идеи?




Цитата Noname22:



Может стоит попробовать скрипт открыть в Akelpad
Скрипты Inno Setup. Помощь и советы [часть 6]




А Notepad++ не подойдет?
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Цитата mat_y@vk:



Крякозябры идут в том, что описано в секции CODE.
Скрипты Inno Setup. Помощь и советы [часть 6]




Аналогично, подобрать кодировку, пере копировать надписи!




Цитата mat_y@vk:



А Notepad++ не подойдет?
Скрипты Inno Setup. Помощь и советы [часть 6]




Подойдёт.



P.S Вы хоть оригинальный файл скрипта сохранили на всякий случай?
Ответить

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