|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Скрипты Inno Setup. Помощь и советы [часть 4]
|
Ветеран Сообщения: 1273 |
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Продолжение обсуждения Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Отправлено: 18:01, 29-08-2011 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать ы кавыки забыл
if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then MsgBox('ключ в реестре не удален', mbInformation, MB_OK); |
------- Отправлено: 11:05, 16-05-2012 | #2031 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать Цитата R.i.m.s.k.y.:
![]() |
|
Отправлено: 11:11, 16-05-2012 | #2032 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать я бы делал вот так
[*Code] procedure RD(Dir:string); begin Exec('cmd.exe', ' /c rd /S /Q ' + Add_Quotes(Dir),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); end; procedure CurStepChanged(CurStep: TSetupStep); var ResultCode: Integer; begin if (CurStep = ssDone) then begin if (IsComponentSelected('port')) then begin RD(ExpandConstant('{app}\uninstall')); if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') end; //if (IsComponentSelected('port')) end; //if (CurStep = ssDone) end; //CurStepChanged Цитата bugmenotagain:
Чтобы убрать отладочное сообщение удали строчки с MSGBox |
|
------- Отправлено: 11:13, 16-05-2012 | #2033 |
![]() Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать Exec('cmd.exe', ' /c rd /S /Q ' + Add_Quotes(Dir),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); перед Add_Quotes Цитата R.i.m.s.k.y.:
|
|
Отправлено: 11:16, 16-05-2012 | #2034 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать bugmenotagain, ты либо используй мой вариант, либо не мой
Я привел вариант как бы сделал я. Ты сам то можешь прочитать чего накопировал? нет? думаешь мы должны? RD рабочий из моего инсталла я забыл добавить Add_Quotes, в башке компилятора то нет [*Code] function Add_Quotes(strng : String):String; begin Result := '"' + strng + '"'; end; procedure RD(Dir:string); begin Exec('cmd.exe', ' /c rd /S /Q ' + AddQuotes(Dir),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res); end; procedure CurStepChanged(CurStep: TSetupStep); var ResultCode: Integer; begin if (CurStep = ssDone) then begin if (IsComponentSelected('port')) then begin RD(ExpandConstant('{app}\uninstall')); if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then RegDeleteKeyIncludingSubkeys(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') end; //if (IsComponentSelected('port')) end; //if (CurStep = ssDone) end; //CurStepChanged |
------- Отправлено: 11:18, 16-05-2012 | #2035 |
![]() Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать |
Отправлено: 11:28, 16-05-2012 | #2036 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать bugmenotagain,
|
------- Последний раз редактировалось volk1234, 20-05-2012 в 03:14. Причина: если уж правила нарушаете, так хоть под кат прятали бы что ли Отправлено: 11:34, 16-05-2012 | #2037 |
![]() Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать точно. Я не программист, и код pascal для меня как китайский.
procedure CurStepChanged(CurStep: TSetupStep); var ResultCode: Integer; begin if (CurStep = ssDone) then begin if (IsComponentSelected('port')) then begin Exec(ExpandConstant('{app}\uninstall\unins000.exe'), ' /VERYSILENT', ExpandConstant('{app}\uninstall'), SW_SHOW, ewNoWait, ResultCode); if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{60F3D1CB-B2A7-46E7-92B0-93526131061D}_is1') then; end; //if (IsComponentSelected('port')) end; //if (CurStep = ssDone) end; //CurStepChanged |
Отправлено: 11:40, 16-05-2012 | #2038 |
![]() Старожил Сообщения: 293
|
Профиль | Сайт | Отправить PM | Цитировать Цитата Johny777:
скажите тут есть темы на другие установщики? inno setup , nsis слишком для программистов, чтоб делать удобные плюшки. а стандартные функции желают лучшего. такой скрипт надо настрочить, чтобы сделать пару жалких чекбокса. |
|
Последний раз редактировалось bugmenotagain, 16-05-2012 в 13:49. Отправлено: 12:27, 16-05-2012 | #2039 |
Ветеран Сообщения: 1088
|
Профиль | Отправить PM | Цитировать bugmenotagain, скрой код, слишком большой.
|
Отправлено: 12:38, 16-05-2012 | #2040 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Test | ferget | Тест-форум | 0 | 24-08-2011 01:25 | |
test | ! ! Aaa ! ! | Тест-форум | 0 | 23-04-2011 11:29 | |
test | Santa aka Snt | Тест-форум | 0 | 16-04-2011 22:35 | |
test | xolod. | Программное обеспечение Linux и FreeBSD | 0 | 19-04-2009 21:03 | |
Test memory | KEugeNik | Хочу все знать | 11 | 23-11-2003 23:11 |
|