Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 5]
Johny777
06-03-2013, 15:00
Respin, повесь в событии OnClick кнопки это:
procedure ExploreDocsFolder(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('Explore', ExpandConstant('{userdocs}'), '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
//ShellExec('Explore', ExpandConstant('{commondocs}'), '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
Не могу розпаковать те файли каториє я сам упаковал через Inno Setup. Ни програмой Universal Extractor ни Inno Setup Unpacker(хотя у меня файл innounp.exe версия 38) розпаковать не могу, помогите ???
insombia
06-03-2013, 19:07
neorom ты сами файлы или скрипт хоч разпаковать?
ты сами файлы или скрипт хоч разпаковать? »
нужно и то и другоє ?
Gnom_aka_Lexander
06-03-2013, 20:54
neorom, Можно. Только в том случае, если инсталл не в расширенной версии скомпилирован и не зашифрован.
Только в том случае, если инсталл не в расширенной версии скомпилирован и не зашифрован. »
Можно поподробней, и как мне єто и чем разпаковать ?
Gnom_aka_Lexander
06-03-2013, 21:40
тем, чем и пытался. если инно была стандартная и инсталл не шифровался, то все распакуется. ну и для 5.5.3 не знаю, есть сейчас анпакер или нет.
Єсть конкректно какаята програма ?
Мои програми http://us.ua/1057349/
Gnom_aka_Lexander
06-03-2013, 22:06
тут (http://forum.oszone.net/thread-148707-41.html#) в шапке Распаковщики инсталляторов Inno Setup
audiofeel
06-03-2013, 22:37
здравствуйте, в общем "задумка" такая = после велкома пользователь должен выбрать между установкой по умолчанию (то есть программа установится в папку по умолчанию, сама где задано создаст ярлыки и т.п) и скажем так установкой для "опытных пользователей (где ему предложат выбрать папку, ярлыки, доп п.о и т.д) готового примера не нашел , вроде где то видел что то но мне нужно чтоб переключатель был как в "я принимаю лицензионное соглашение" (черт я не знаю как эти кнопочки называются, ну в общем точки) .помогите у кого есть пример
Распаковщики инсталляторов Inno Setup »
Нет не получилось , помогите разпаковать, очень нужни єти файли и скрипт ? http://us.ua/1057349/
Johny777
06-03-2013, 23:41
audiofeel, Да было уже. Изучай: http://forum.oszone.net/post-2102104-1779.html
neorom, установить, взять файлы из директории установки, посмотреть регшотом какие ключи внеслись в реестр и написать скрипт заново не судьба? Даже если распакуешь там будут стандартные секции типа компонентов и ярлыков. Чтоб их воспроизвести Oject Pascal знать не нужно, хватит и справки.
Lex_from_Belarus
07-03-2013, 00:36
if not Checked[Items.IndexOf('Compoment1')] then
begin
Checked[Items.IndexOf('Component2')] := False;
end;
данный код делает Component2 неактивным когда не выбран Compoment1
а что ещё нужно написать чтобы снималось выделение с Component2 если он ранее был выделен, а то при этом коде Component2 становится неактивным но остаётся выбранным
P.S. Component2 - это Radiobutton, если это имеет значение
audiofeel
07-03-2013, 00:59
Johny777, пример рабочий , но ко мне не совсем подходит, мне хотелось эти две кнопки "стандартная" и "расширенная" поместить на "WizardForm.SelectDirPage" и пока пользователь не нажмет "расширенная" - "DirEdit" и "DirBrowseButton" не активны
Johny777
07-03-2013, 04:04
audiofeel,
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Components]
Name: "main"; Description: "Main Files"; Types: full compact custom; Flags: fixed
Name: "help"; Description: "Help Files"; Types: full
[Code]
var
StandardInstallMod, ExtendedInstallMod: TNewRadioButton;
procedure InstTyprRadiosOnClick(Sender: TObject);
begin
with WizardForm do
begin
case TNewRadioButton(Sender).Caption of
'стандартная': NextButton.Caption := SetupMessage(msgButtonInstall);
'расширенная': NextButton.Caption := SetupMessage(msgButtonNext);
end;
DirEdit.Enabled := ExtendedInstallMod.Checked;
DirBrowseButton.Enabled := ExtendedInstallMod.Checked;
end;
end;
procedure InitializeWizard();
begin
with WizardForm do
begin
StandardInstallMod := TNewRadioButton.Create(WizardForm);
with StandardInstallMod do
begin
Parent := WizardForm.SelectDirPage;
SetBounds(ScaleX(0), ScaleY(125), ScaleX(89), ScaleY(17));
Caption := 'стандартная';
Checked := True;
OnClick:= @InstTyprRadiosOnClick;
end;
ExtendedInstallMod := TNewRadioButton.Create(nil);
with ExtendedInstallMod do
begin
Parent := WizardForm.SelectDirPage;
SetBounds(ScaleX(0), ScaleY(150), ScaleX(97), ScaleY(17));
Caption := 'расширенная';
OnClick:= @InstTyprRadiosOnClick;
end;
DirEdit.Enabled := ExtendedInstallMod.Checked;
DirBrowseButton.Enabled := ExtendedInstallMod.Checked;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpSelectDir then if StandardInstallMod.Checked then WizardForm.NextButton.Caption := SetupMessage(msgButtonInstall);
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
case PageID of
wpSelectComponents, wpSelectProgramGroup, wpReady: Result := StandardInstallMod.Checked;
end;
end;
Єсть ли версия програми Inno Ultra v5.5.1, єсли єсть то закиньте мне на http://us.ua/ а то не где скачать не могу .
neorom, готово - полная версия Inno Ultra: http://us.ua/1058466/
Лександер, прости. (
Johny777, http://forum.oszone.net/post-2105950-1815.html
пост поправь, а код паскаля используй, как [Code] (начальная жирная квадратная скобка)
Nightwishh
08-03-2013, 03:17
Разъясните пожалуйста ситуацию, можно ли заскинировать через ISSkin.dll всю область "Выбора языка установки" http://forum.oszone.net/attachment.php?attachmentid=95312&stc=1&d=1362698177 . Вот код который я стыбзил с кринкелса [Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
DefaultGroupName=My Application
UninstallDisplayIcon={app}\MyProg.exe
SolidCompression=yes
Compression=lzma/ultra
OutputDir=.
[Files]
Source: ISSkin.dll; DestDir: {app}; Flags: dontcopy
Source: Skin.cjstyles; DestDir: {tmp}; Flags: dontcopy
[Icons]
Name: {group}\my application; Filename: {app}\MyProg.exe
[Code ]
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:ISSkin.dll stdcall';
procedure UnloadSkin(); external 'UnloadSkin@files:ISSkin.dll stdcall';,
function CallWindowProc(lpPrevWndFunc: Longint; hWnd: HWND; Msg: UINT; wParam, lParam: Longint): Longint;
external 'CallWindowProc@user32.dll stdcall delayload';
function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint;
external 'SetWindowLong@user32.dll stdcall delayload';
function InitializeLanguageDialog(): Boolean;
begin
ExtractTemporaryFile('Skin.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Skin.cjstyles'), '');
Result := True;
end;
procedure DeinitializeSetup();
begin
UnloadSkin();
end;Спасибо.
audiofeel
08-03-2013, 04:47
здравствуйте, помогите со скриптом. на "SelectProgramGroupPage" вместо кнопки "GroupBrowseButton" хотелось чтоб было как в примере, небольшое "окно" (рисунок во влажении)
Gnom_aka_Lexander
08-03-2013, 07:20
Лександер, прости. ( »
Да ладно, я привык уже, что всем плевать на источник, и вместо того, чтоб направить в шапку, где есть ссылки, вы предпочитает заливать на лево от своего имени. Много бабла нарубил уже?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.