Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
[Code] Function GetInstallDir( AppID: String ): String; var dir: String; begin if not RegQueryStringValue(HKLM, "SOFTWARECompanyProgramNamePro", "InstallLocation", dir) then RegQueryStringValue(HKLM, "SOFTWARECompanyProgramNameLight", "InstallLocation", dir); Result:= dir; end;
function InitializeSetup(): Boolean; begin Result:= True; if not RegKeyExists(HKLM, "SOFTWARECompanyProgramNamePro") then begin if not RegKeyExists(HKLM, "SOFTWARECompanyProgramNameLight") then begin MsgBox("Программа не найдена!", mberror, mb_ok); Result:=False; end; end; end;
Второй вариант если записи в реестре у программы нет, но есть интеграция в проводник, тогда можно выловить эту интеграцию и и по ней определить путь:
[code] function GetPath(S: String): String; var Path: String; begin RegQueryStringValue(HKCR, "InnoSetupScriptFileshellopencommand", "", Path); if Path <> "" then begin StringChange(Path, ""%1"", ""); while Pos(""", Path) > 0 do StringChange(Path, """, ""); Path:= ExtractFilePath(Path); end; If Path = "" then Path:= S; Result:= Path; end;
через разделительную черту можно указать свой путь установки, если ключ не найден - |{pf}MyApp
Там двойной слеш в пути, изза этого и не показывает путь, нужно посоветоваться - там нужно удалять второй слеш. Сейчас попозже дам решение. И закрепи, тогда уж шапку, глядиш, разовьется тема
function RemoveDoubleSlash(S: String): String; begin while Pos("", S) > 0 do StringChange(S, "", ""); Result:= S; end;
Function GetInstallDir( dir: String ): String; begin if RegQueryStringValue(RootKey, "SOFTWARE7-Zip", "Path", dir) then Result:= RemoveDoubleSlash(dir); end;
function InitializeSetup(): Boolean; begin if ISWin64 then RootKey:= HKLM64 else RootKey:= HKLM32; Result:= True; if not RegValueExists(RootKey, "SOFTWARE7-Zip", "Path") then begin MsgBox("Программа не найдена!", mberror, mb_ok); Result:=False; end; end;
Держи, проверил у себя, должно отработать ина х64 и на х32
Все работает! Вопросы у меня к тебе еще есть, но это потом. Давай создадим раздел и поведешь его. Мне, например, все интересно что связано с установщиками.
Не обязательно, достаточно модифицировать этот. Но, сперва, может опрос по форуму сделать, о необходимости такого? есть несколько больших форумов по инно, с остальными программами установки я не связывался, плюс, нужен ктото, кто хорошо знает дельфи и С+, для написания воспомогательных библиотек, что иногда требуется. На вопросы буду отвечать, в меру моих знаний и опыта. Единственное - Установщики приложений нужно вынести в корень форума - Русификация программ - скорее дочерняя тема Установщиков приложений, чем наоборот
Не обязательно, достаточно модифицировать этот. Но, сперва, может опрос по форуму сделать, о необходимости такого? есть несколько больших форумов по инно, с остальными программами установки я не связывался, плюс, нужен ктото, кто хорошо знает дельфи и С+, для написания воспомогательных библиотек, что иногда требуется. На вопросы буду отвечать, в меру моих знаний и опыта.
По русификации знаю - никто на блюдечке не подаст Надо просто начать и делать - аудитория будет, главное увлечь народ.
Даю тебе права на создание новостей. Выставляй все что считаешь нужным по своему увлечению.