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

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

Автор: sergioksv1969
Дата сообщения: 19.09.2008 16:14
Здравствуйте.
Подскажите пожалуйста, поддерживает ли данная программа для создания setup
unicode ?
То есть можно ли помощью данной программы создавать setup на разных языках, таких как немецкий, польский, латышский и тд., языках имеющих национальные символы в написании.
Первые пробы показали что нет....
Буду очень признателен за ответ.
На сегодняшний день не удалось найти программу создания setup поддерживающей unicode.
Автор: Artem_Butenko
Дата сообщения: 19.09.2008 16:43
Raf_SE - похоже Вы не поняли сути вопроса. Я ищу утилиту способную извлечь читабельную секцию [Code] из .bin файла, создаваемого Inno Unpacker'om. Вот собственно и все!
Автор: Victor_Dobrov
Дата сообщения: 19.09.2008 16:43
Artem_Butenko

Ранее здесь уже обсуждали утилиту disasm, которая получает из CompiledCode.bin весьма своеобразный текст.
Например, код [more=этого скрипта]
[Setup]
AppName=AppName
AppVerName=AppVerName
CreateAppDir=false

[Code]
var MouseLabel,SiteLabel: TLabel;

procedure SiteLabelOnClick(Sender: TObject); var ErrorCode: Integer;
begin
ShellExec('open', 'http://forum.ru-board.com', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;

procedure SiteLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clRed
end;

procedure SiteLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clBlue
end;

procedure SiteLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clGreen
end;

procedure SiteLabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
SiteLabel.Font.Color:=clBlue
end;

procedure InitializeWizard();
begin
MouseLabel:=TLabel.Create(WizardForm)
MouseLabel.Width:=WizardForm.Width
MouseLabel.Height:=WizardForm.Height
MouseLabel.Autosize:=False
MouseLabel.Transparent:=True
MouseLabel.OnMouseMove:=@SiteLabelMouseMove2
MouseLabel.Parent:=WizardForm
SiteLabel:=TLabel.Create(WizardForm)
SiteLabel.Left:=10
SiteLabel.Top:=330
SiteLabel.Cursor:=crHand
SiteLabel.Font.Color:=clBlue
SiteLabel.Caption:='Forum Ru-Board'
SiteLabel.OnClick:=@SiteLabelOnClick
SiteLabel.OnMouseDown:=@SiteLabelMouseDown
SiteLabel.OnMouseUp:=@SiteLabelMouseUp
SiteLabel.OnMouseMove:=@SiteLabelMouseMove
SiteLabel.Parent:=WizardForm
end;
[/more] получится [more=таким]
[TYPES]
Type [0]: Pointer
Type [1]: U32
Type [2]: Variant
Type [3]: Unknown 14
Type [4]: Unknown 24
Type [5]: Extended
Type [6]: Double
Type [7]: Single
Type [8]: String
Type [9]: U32
Type [10]: S32
Type [11]: S16
Type [12]: U16
Type [13]: S8
Type [14]: Char
Type [15]: U32
Type [16]: U8 Export: BOOLEAN
Type [17]: U8
Type [18]: Class Export: TLABEL
Type [19]: Class Export: TOBJECT
Type [20]: U8
Type [21]: U8
Type [22]: U8
Type [23]: Set
Type [24]: Class Export: TFONT
Type [25]: Class Export: TCONTROL
Type [26]: Class Export: TCOMPONENT
Type [27]: Class Export: TWIZARDFORM
Type [28]: ProcPtr
Type [29]: Class Export: TWINCONTROL
Type [30]: ProcPtr
Type [31]: ProcPtr
[VARS]
Var [0]: 18 Class TLABEL
Var [1]: 18 Class TLABEL
[PROCS]
Proc [0] Export: !MAIN -1
[0] RET
Proc [1] Export: SITELABELONCLICK -1 @19
[0] PUSHTYPE 10(S32) // 1
[5] PUSHTYPE 16(U8) // 2
[10] PUSHTYPE 0(Pointer) // 3
[15] SETPOINTER Base[3]: Base[1]
[26] PUSHTYPE 20(U8) // 4
[31] ASSIGN Base[4], [0]
[43] PUSHTYPE 10(S32) // 5
[48] ASSIGN Base[5], [1]
[63] PUSHTYPE 8(String) // 6
[68] ASSIGN Base[6], ['']
[83] PUSHTYPE 8(String) // 7
[88] ASSIGN Base[7], ['']
[103] PUSHTYPE 8(String) // 8
[108] ASSIGN Base[8], ['http://forum.ru-board.com']
[148] PUSHTYPE 8(String) // 9
[153] ASSIGN Base[9], ['open']
[172] PUSHVAR Base[2] // 10
[178] CALL 2
[183] POP // 9
[184] POP // 8
[185] POP // 7
[186] POP // 6
[187] POP // 5
[188] POP // 4
[189] POP // 3
[190] POP // 2
[191] POP // 1
[192] RET
Proc [2]: External Decl: \01\00\00\00\00\00\00\01 SHELLEXEC
Proc [3] Export: SITELABELMOUSEDOWN -1 @19 @21 @23 @10 @10
[0] PUSHTYPE 10(S32) // 1
[5] ASSIGN Base[1], [255]
[20] PUSHTYPE 24(Class) // 2
[25] PUSHTYPE 18(Class) // 3
[30] ASSIGN Base[3], GlobalVar[1]
[41] PUSHVAR Base[2] // 4
[47] CALL 4
[52] POP // 3
[53] POP // 2
[54] CALL 5
[59] POP // 1
[60] POP // 0
[61] RET
Proc [4]: External Decl: class:TLABEL|FONT|\01\00\00\00
Proc [5]: External Decl: class:TFONT|COLOR@|\01\00\00\00
Proc [6] Export: SITELABELMOUSEUP -1 @19 @21 @23 @10 @10
[0] PUSHTYPE 10(S32) // 1
[5] ASSIGN Base[1], [16711680]
[20] PUSHTYPE 24(Class) // 2
[25] PUSHTYPE 18(Class) // 3
[30] ASSIGN Base[3], GlobalVar[1]
[41] PUSHVAR Base[2] // 4
[47] CALL 4
[52] POP // 3
[53] POP // 2
[54] CALL 5
[59] POP // 1
[60] POP // 0
[61] RET
Proc [7] Export: SITELABELMOUSEMOVE -1 @19 @23 @10 @10
[0] PUSHTYPE 10(S32) // 1
[5] ASSIGN Base[1], [32768]
[20] PUSHTYPE 24(Class) // 2
[25] PUSHTYPE 18(Class) // 3
[30] ASSIGN Base[3], GlobalVar[1]
[41] PUSHVAR Base[2] // 4
[47] CALL 4
[52] POP // 3
[53] POP // 2
[54] CALL 5
[59] POP // 1
[60] POP // 0
[61] RET
Proc [8] Export: SITELABELMOUSEMOVE2 -1 @19 @23 @10 @10
[0] PUSHTYPE 10(S32) // 1
[5] ASSIGN Base[1], [16711680]
[20] PUSHTYPE 24(Class) // 2
[25] PUSHTYPE 18(Class) // 3
[30] ASSIGN Base[3], GlobalVar[1]
[41] PUSHVAR Base[2] // 4
[47] CALL 4
[52] POP // 3
[53] POP // 2
[54] CALL 5
[59] POP // 1
[60] POP // 0
[61] RET
Proc [9] Export: INITIALIZEWIZARD -1
[0] PUSHTYPE 26(Class) // 1
[5] PUSHTYPE 27(Class) // 2
[10] PUSHVAR Base[2] // 3
[16] CALL 11
[21] POP // 2
[22] ASSIGN Base[1], Base[2]
[33] POP // 1
[34] PUSHTYPE 9(U32) // 2
[39] ASSIGN Base[2], [18]
[54] PUSHVAR GlobalVar[0] // 3
[60] CALL 10
[65] POP // 2
[66] POP // 1
[67] POP // 0
[68] PUSHTYPE 10(S32) // 1
[73] PUSHTYPE 27(Class) // 2
[78] PUSHVAR Base[2] // 3
[84] CALL 11
[89] POP // 2
[90] PUSHVAR Base[1] // 3
[96] CALL 12
[101] POP // 2
[102] POP // 1
[103] PUSHTYPE 18(Class) // 2
[108] ASSIGN Base[2], GlobalVar[0]
[119] CALL 13
[124] POP // 1
[125] POP // 0
[126] PUSHTYPE 10(S32) // 1
[131] PUSHTYPE 27(Class) // 2
[136] PUSHVAR Base[2] // 3
[142] CALL 11
[147] POP // 2
[148] PUSHVAR Base[1] // 3
[154] CALL 14
[159] POP // 2
[160] POP // 1
[161] PUSHTYPE 18(Class) // 2
[166] ASSIGN Base[2], GlobalVar[0]
[177] CALL 15
[182] POP // 1
[183] POP // 0
[184] PUSHTYPE 16(U8) // 1
[189] ASSIGN Base[1], [0]
[201] PUSHTYPE 18(Class) // 2
[206] ASSIGN Base[2], GlobalVar[0]
[217] CALL 16
[222] POP // 1
[223] POP // 0
[224] PUSHTYPE 16(U8) // 1
[229] ASSIGN Base[1], [1]
[241] PUSHTYPE 18(Class) // 2
[246] ASSIGN Base[2], GlobalVar[0]
[257] CALL 17
[262] POP // 1
[263] POP // 0
[264] PUSHTYPE 28(ProcPtr) // 1
[269] ASSIGN Base[1], [PROC: 8]
[284] PUSHTYPE 18(Class) // 2
[289] ASSIGN Base[2], GlobalVar[0]
[300] CALL 18
[305] POP // 1
[306] POP // 0
[307] PUSHTYPE 29(Class) // 1
[312] PUSHTYPE 27(Class) // 2
[317] PUSHVAR Base[2] // 3
[323] CALL 11
[328] POP // 2
[329] ASSIGN Base[1], Base[2]
[340] POP // 1
[341] PUSHTYPE 18(Class) // 2
[346] ASSIGN Base[2], GlobalVar[0]
[357] CALL 19
[362] POP // 1
[363] POP // 0
[364] PUSHTYPE 26(Class) // 1
[369] PUSHTYPE 27(Class) // 2
[374] PUSHVAR Base[2] // 3
[380] CALL 11
[385] POP // 2
[386] ASSIGN Base[1], Base[2]
[397] POP // 1
[398] PUSHTYPE 9(U32) // 2
[403] ASSIGN Base[2], [18]
[418] PUSHVAR GlobalVar[1] // 3
[424] CALL 10
[429] POP // 2
[430] POP // 1
[431] POP // 0
[432] PUSHTYPE 10(S32) // 1
[437] ASSIGN Base[1], [10]
[452] PUSHTYPE 18(Class) // 2
[457] ASSIGN Base[2], GlobalVar[1]
[468] CALL 20
[473] POP // 1
[474] POP // 0
[475] PUSHTYPE 10(S32) // 1
[480] ASSIGN Base[1], [330]
[495] PUSHTYPE 18(Class) // 2
[500] ASSIGN Base[2], GlobalVar[1]
[511] CALL 21
[516] POP // 1
[517] POP // 0
[518] PUSHTYPE 10(S32) // 1
[523] ASSIGN Base[1], [1]
[538] PUSHTYPE 18(Class) // 2
[543] ASSIGN Base[2], GlobalVar[1]
[554] CALL 22
[559] POP // 1
[560] POP // 0
[561] PUSHTYPE 10(S32) // 1
[566] ASSIGN Base[1], [16711680]
[581] PUSHTYPE 24(Class) // 2
[586] PUSHTYPE 18(Class) // 3
[591] ASSIGN Base[3], GlobalVar[1]
[602] PUSHVAR Base[2] // 4
[608] CALL 4
[613] POP // 3
[614] POP // 2
[615] CALL 5
[620] POP // 1
[621] POP // 0
[622] PUSHTYPE 8(String) // 1
[627] ASSIGN Base[1], ['Forum Ru-Board']
[656] PUSHTYPE 18(Class) // 2
[661] ASSIGN Base[2], GlobalVar[1]
[672] CALL 23
[677] POP // 1
[678] POP // 0
[679] PUSHTYPE 30(ProcPtr) // 1
[684] ASSIGN Base[1], [PROC: 1]
[699] PUSHTYPE 18(Class) // 2
[704] ASSIGN Base[2], GlobalVar[1]
[715] CALL 24
[720] POP // 1
[721] POP // 0
[722] PUSHTYPE 31(ProcPtr) // 1
[727] ASSIGN Base[1], [PROC: 3]
[742] PUSHTYPE 18(Class) // 2
[747] ASSIGN Base[2], GlobalVar[1]
[758] CALL 25
[763] POP // 1
[764] POP // 0
[765] PUSHTYPE 31(ProcPtr) // 1
[770] ASSIGN Base[1], [PROC: 6]
[785] PUSHTYPE 18(Class) // 2
[790] ASSIGN Base[2], GlobalVar[1]
[801] CALL 26
[806] POP // 1
[807] POP // 0
[808] PUSHTYPE 28(ProcPtr) // 1
[813] ASSIGN Base[1], [PROC: 7]
[828] PUSHTYPE 18(Class) // 2
[833] ASSIGN Base[2], GlobalVar[1]
[844] CALL 18
[849] POP // 1
[850] POP // 0
[851] PUSHTYPE 29(Class) // 1
[856] PUSHTYPE 27(Class) // 2
[861] PUSHVAR Base[2] // 3
[867] CALL 11
[872] POP // 2
[873] ASSIGN Base[1], Base[2]
[884] POP // 1
[885] PUSHTYPE 18(Class) // 2
[890] ASSIGN Base[2], GlobalVar[1]
[901] CALL 19
[906] POP // 1
[907] POP // 0
[908] RET
Proc [10]: External Decl: class:TCONTROL|CREATE|\00\01\00
Proc [11]: External Decl: \01 WIZARDFORM
Proc [12]: External Decl: class:TCONTROL|WIDTH|\01\00\00\00
Proc [13]: External Decl: class:TCONTROL|WIDTH@|\01\00\00\00
Proc [14]: External Decl: class:TCONTROL|HEIGHT|\01\00\00\00
Proc [15]: External Decl: class:TCONTROL|HEIGHT@|\01\00\00\00
Proc [16]: External Decl: class:TLABEL|AUTOSIZE@|\01\00\00\00
Proc [17]: External Decl: class:TLABEL|TRANSPARENT@|\01\00\00\00
Proc [18]: External Decl: class:TLABEL|ONMOUSEMOVE@|\01\00\00\00
Proc [19]: External Decl: class:TCONTROL|PARENT@|\01\00\00\00
Proc [20]: External Decl: class:TCONTROL|LEFT@|\01\00\00\00
Proc [21]: External Decl: class:TCONTROL|TOP@|\01\00\00\00
Proc [22]: External Decl: class:TCONTROL|CURSOR@|\01\00\00\00
Proc [23]: External Decl: class:TLABEL|CAPTION@|\01\00\00\00
Proc [24]: External Decl: class:TLABEL|ONCLICK@|\01\00\00\00
Proc [25]: External Decl: class:TLABEL|ONMOUSEDOWN@|\01\00\00\00
Proc [26]: External Decl: class:TLABEL|ONMOUSEUP@|\01\00\00\00
[/more]. ComrаdG тоже заявлял, что декомпилер есть, но доказательств не предоставил...
Автор: ComradG
Дата сообщения: 20.09.2008 17:27
Victor_Dobrov

Цитата:
ComrаdG тоже заявлял, что декомпилер есть, но доказательств не предоставил...

Ссылки на декомпил, который упомянался мной, по непонятным причинам банят. Может можно ка-то на форум залить?

Цитата:
Если можно, то конкретнее, что Вы хотите реализовать в области построения патчера на Inno Setup?

Относительно этого - сделать rtp патчер в оболочке Inno.

Автор: Forslay
Дата сообщения: 20.09.2008 21:07
Artem_Butenko, так я нечего и не нашёл... Капец что же делать... 8*(
Автор: An4eus
Дата сообщения: 20.09.2008 21:34
serg_aka_lain
твой пост
что-то я так и не понял, как менять текст Mainpanel
P.s. pascal знал, но только TP 7.0
P.s.s а вообще есть полное описание "встроенных" функций в Inno Setup ? а то что у меня есть - там очень мало и плохо расписано!
Заранее багодарю!
Автор: Artem_Butenko
Дата сообщения: 20.09.2008 23:31
Forslay - несколькими страницами ранее уже выкладывали ссылки на темы для Inno Setup от codejock.com. М.б. это для Вас подойдет. Повторюсь, мне не нравится скинирование инсталлятора на основе ISSkin.dll, однако организовать нечто подобное через секцию [Code] с подгрузкой битмапов (ресурсов) врядли удастся. Хотя, вопрос так и не решен!
Автор: serg_aka_lain
Дата сообщения: 21.09.2008 00:20
An4eus

Цитата:
что-то я так и не понял, как менять текст Mainpanel

Вот хороший пример от Victor_Dobrov Пример (скрипт, который меняет описания Mainpanel и учитывает, что страница выбора папки может быть отключена.)


Цитата:
P.s.s а вообще есть полное описание "встроенных" функций в Inno Setup ? а то что у меня есть - там очень мало и плохо расписано!

- В Help'е или в шапке "Русская справка к версиям 5.0.x".
Автор: Victor_Dobrov
Дата сообщения: 21.09.2008 01:38
ComradG
Цитата:
Ссылки на декомпил, который упомянался мной, по непонятным причинам банят.

А что, название декомпилятора тоже банят?
Автор: Hater_Decay
Дата сообщения: 21.09.2008 14:00
У меня вопрос: можно ли сделать такую вещь, как распаковка на лету и выполнение содержимого инсталляшки. Обьясню на примере InstallShield'a: когда ейный установщик одним ехе файлом, то он может работать в 2-ух режимах: либо распаковка в темп (или папку куда покажет юзер, напр. драйверы nvidia), либо выполнение содержимого (внутри обычно лежит тоже инсталшилдовский сетап и кабы, часто так выглядят патчи для игр) на лету, т.е. никуда не распаковываясь. Интересует можно ли провернуть второй вариант фокуса с инно (напр. тот же инсталшилдовский сетап с несколькими кабами пакануть поверх инно, а не IS, чтоб было одним файлом, но чтоб выполнялось без дополнительной распаковки на жёсткий диск). Извините что так подробно, просто хотел как можно точнее выразить свои мысли
Автор: ComradG
Дата сообщения: 21.09.2008 17:17
Victor_Dobrov

Цитата:
А что, название декомпилятора тоже банят?

Прошу прощения, но глаза тоже надо разувать - я уже писал, что называется декомпил unCompiled. И вообще CompiledCode.bin - это псевдобинарь, который запросто можно открыть BINDump'ом - на выходе получаешь обычный ISO, а там уже делаешь с ним что хош.


Добавлено:
Кстати, можно попробовать ISOForce - я пробовал получал на выходе обычный iss, правда при этом прога немного ругалась.
Автор: allalone
Дата сообщения: 21.09.2008 17:27
Подскажите, как сделать чтоб при деиснталяции значения ключей рееестра, которые изменялись при инсталяции возвращались в то состояние, которое было перед инсталяцией программы ?
Автор: Ph9M2
Дата сообщения: 21.09.2008 20:59
ComradG

Ну залей ты эти декомпиляторы куда-нибудь. Нифига поиск нужного не выдаёт.
Автор: Artem_Butenko
Дата сообщения: 21.09.2008 21:07
ComradG - пожалуйста выложите прямую ссылку на закачку ISOForce. Вероятно программа немецких авторов и мало распростнена в рунете. Буду признателен Вашей помощи!
Автор: ComradG
Дата сообщения: 21.09.2008 21:49

Цитата:
ComradG - пожалуйста выложите прямую ссылку на закачку ISOForce.

Ща попробую на народ.ру залить.
Завтра кину ссылку.

Цитата:
Вероятно программа немецких авторов и мало распростнена в рунете.

Не немецких, а японских.
Автор: Victor_Dobrov
Дата сообщения: 22.09.2008 01:45
ComradG
Цитата:
Прошу прощения, но глаза тоже надо разувать - я уже писал, что называется декомпил unCompiled.

Это не ответ, а пустые слова. Кто разработчик программы, где описание и ссылка на закачку или сайт декомпилятора?

allalone
Цитата:
Подскажите, как сделать чтоб при деиснталяции значения ключей рееестра, которые изменялись при инсталяции возвращались в то состояние, которое было перед инсталяцией программы ?

Ранее я уже давал скрипт [more=RegBackup]
[Setup]
AppName=RegBackup
AppVerName=Registry Backup
CreateAppDir=false

[Registry]
;если используется функция RegBackup, то желательно удалять ключ или параметр при деинсталляции (флаги deletevalue или uninsdeletekey), чтобы не оставались записи реестра, которых не было до установки.
Root: HKCU; SubKey: Control Panel\Desktop; ValueType: none; ValueName: Wallpaper; Flags: deletevalue uninsdeletevalue; BeforeInstall: RegBackup('HKCU\Control Panel\Desktop')

[Run]
Filename: {uninstallexe}; Flags: nowait postinstall; Description: Восстановить обои Рабочего стола; Parameters: /SILENT
Filename: {cmd}; Parameters: /C del /F /Q /AH IconCache.db; Flags: runhidden nowait; WorkingDir: {code:GetFolderByCSIDL|28}

[Code]
Function GetFolderByCSIDL(CSIDL: String): String; Begin Result:= GetShellFolderByCSIDL(StrToInt(CSIDL), true); End;    // получить путь к папке. Пример: DestDir: {code:GetFolderByCSIDL|28}

function SystemParametersInfo(uAction, uParam: integer; pvParam: longint; fUpdateProfile: integer): boolean; external 'SystemParametersInfoA@user32';

// Зарезервировать параметры указанного раздела реестра или Восстановить записи реестра из резервной копии
Procedure RegBackup(Path: String); var errCode, n: Integer; RegExe, isKey: String; Keys: TArrayOfString; Begin
RegExe:= AddBackslash(GetSystemDir) + 'reg.exe'
if not FileExists(RegExe) then begin MsgBox('Registry backup not created' #13#10 'File reg.exe not found!', mbError, MB_OK); Exit end;
    isKey:= 'HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting('AppName')}_regBackup'    {! InnoSetup удаляет чужие ключи в AppName_is1}
    if Length(Path) > 0 then
        Exec(RegExe,'copy '+ AddQuotes(Path) +' '+ AddQuotes(AddBackslash(isKey) + Path) +' /s /f','',sw_HIDE, ewWaitUntilTerminated, errCode)
    else begin
        if not RegGetSubkeyNames(HKLM, Copy(isKey, 6,Length(isKey)), Keys) then Exit; { нет резервных записей}
    for n:= 0 to GetArrayLength(Keys) -1 do    { reg.exe не может сохранять в корень реестра}
        Exec(RegExe, 'copy '+ AddQuotes(AddBackslash(isKey) + Keys[n]) +' '+ Keys[n] +' /s /f','', sw_HIDE, ewWaitUntilTerminated, errCode)
    RegDeleteKeyIncludingSubkeys(HKLM, Copy(isKey, 6,Length(isKey)))
    end;
End;

Procedure CurStepChanged(CurStep: TSetupStep);
Begin
if CurStep = ssPostInstall then SystemParametersInfo(20,0,0,2) { update Desktop}
End;

Procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);    Begin
    if CurUninstallStep = usPostUninstall then begin RegBackup(''); SystemParametersInfo(20,0,0,2) end
End;
[/more], возвращающий записи реестра, которые были перед установкой.
Автор: Artem_Butenko
Дата сообщения: 22.09.2008 12:08
Victor_Dobrov - Вы уж меня извините, но решил попытать счастья в пятый раз и задать наболевший вопрос. Пожалуйста, подскажите есть ли способ полного скинирования инсталлятора, без использование сторонних .dll, для меня это критически важно.
Автор: Victor_Dobrov
Дата сообщения: 22.09.2008 14:55
По просьбе SotM немного дополнил шапку.

Artem_Butenko
Ранее я уже ответил, что не знаю, как изменить стандартные диалоги.
Автор: PunisherVIP
Дата сообщения: 22.09.2008 15:11
Я наткнулся на баг: вобщем готовый файл setup весит 1.05гб и не отображается заданная иконка и разработчик. Если сделать setup весом несколько мб, все работает. Как можно исправить и можно ли это?
Автор: NightW0lf
Дата сообщения: 22.09.2008 17:27
PunisherVIP

Цитата:
Я наткнулся на баг: вобщем готовый файл setup весит 1.05гб и не отображается заданная иконка и разработчик. Если сделать setup весом несколько мб, все работает. Как можно исправить и можно ли это?

Inno Setup тут не причем, так устроены исполняемые файлы, если размер файла превышает ~300mb тогда иконка почемуто затирается и соответственно не отображется.
Автор: cepbl4
Дата сообщения: 22.09.2008 18:03
Вопрос насчет внесенных установщиком значений в реестр

Есть значение, вносимое, моим инсталлятором:
Root: HKCU; SubKey: Software\xxx\xxx; ValueType: string; ValueName: Somefile; ValueData: {app}\Somefile.xxx

Когда введено {app} вносится обычный адрес типа
D:\Program Files\ACD Systems\ACDSee

можно как-то сделать так, чтобы, адрес к файлу указывался в коротком виде (без пробелов):
D:\Distrs\FACEFI~1.1\data1.hdr

Заранее спасибо
Автор: Genri
Дата сообщения: 22.09.2008 18:57
cepbl4

Цитата:
сделать так, чтобы, адрес к файлу указывался в коротком виде
-- [more]
Код: [no]
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DirExistsWarning=no
DefaultDirName={pf}\My Program

[Code]
function GetShortPathNameA(lpszLongPath: PChar; lpszShortPath: PChar; cchBuffer: DWORD): DWORD;
external 'GetShortPathNameA@kernel32.dll stdcall';

function GetShortName(LongName: PChar): string;
var
buff: string;
begin
buff:= StringOfChar(#0, 255);
GetShortPathNameA(LongName, PChar(buff), Length(buff));
Result:= buff;
end;

procedure InitializeWizard();
begin
MsgBox(GetShortName(ExpandConstant('{src}')), mbInformation, MB_OK);
end; [/no]
Автор: ComradG
Дата сообщения: 22.09.2008 19:44
Что творится с падлообменниками? Никак не могу залить обещанные проги. Кто-нить посоветуйте нормальный падлообменник.
Автор: Ph9M2
Дата сообщения: 22.09.2008 19:52
ComradG

rapidshare.ru или rapidshare.com
Автор: Genri
Дата сообщения: 22.09.2008 20:17
ComradG -- http://forum.ru-board.com/topic.cgi?forum=35&topic=9952
Автор: adamov3
Дата сообщения: 23.09.2008 00:36
Такое впечатление, что ComradG просто-напросто испытывает всеобщее терпенение (а короче: 'пенится') !
Автор: STALKER_HIGHLANDER
Дата сообщения: 23.09.2008 00:54
ComradG

http://dump.ru/
http://ifolder.ru/
http://webfile.ru/
http://slil.ru/
http://www.sendspace.com/
http://www.filefactory.com/
http://www.filestock.ru/
http://narod.yandex.ru/
русскую и .com рапиду вам уже назвали.

И это только одни из самых популярных...
Автор: Victor_Dobrov
Дата сообщения: 23.09.2008 01:12
cepbl4
Цитата:
как сделать так, чтобы, адрес к файлу указывался в коротком виде

Замечание: имена формата 8.3 доступны не всегда. Некоторые твикеры (или сам пользователь) могут установить ключ реестра HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation в 1 и отключить создание коротких имён для новых файлов.
Автор: cepbl4
Дата сообщения: 23.09.2008 06:57
Genri
Victor_Dobrov
Спасибо
Автор: Artem_Butenko
Дата сообщения: 23.09.2008 23:18
Что-то форум замер, наверное все с нетерпением ждут обещанных программ от товарища ComradG?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Презентация


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