Jump to content
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Recommended Posts

Ребята, а как можно защитить свой инсталлятор от копирования и декомпиляции ?

Использовать расширенную версию компилятора.

 

Она автоматом работает

Неправильно. На расширенной версии никакой защиты нет вовсе!

Просто китайцы исходники расширенной никому не предоставили, вот никто и не может сделать декомпил.

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Использовать расширенную версию компилятора.

 

Неправильно. На расширенной версии никакой защиты нет вовсе!

Просто китайцы исходники расширенной никому не предоставили, вот никто и не может сделать декомпил.

Декомпил конкретно кода? или инсталла? Инсталл уже вскрываеться со всеми файлами. Все, кроме секции

.

Share this post


Link to post

Short link
Share on other sites

Здравствуйте всем. Вопрос, какие флаги нужны компоненту, чтобы он был постоянно выбран без возможности снятия флажка. Заранее спасибо...

Edited by akey

Share this post


Link to post

Short link
Share on other sites

Здравствуйте всем. Вопрос, какие флаги нужны компоненту, чтобы он был постоянно выбран без возможности снятия флажка. Заранее спасибо...

fixed

Share this post


Link to post

Short link
Share on other sites

 

 

Вопрос, какие флаги нужны компоненту, чтобы он был постоянно выбран без возможности снятия флажка.

fixed

Одного fixed мало будет.

Нужно ещё один тип указать, чтобы действительно был отмечен.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Одного fixed мало будет.

Нужно ещё один тип указать, чтобы действительно был отмечен.

Какой? Спасибо

Про fixed сразу разобрался, но это не решение проблемы.

Share this post


Link to post

Short link
Share on other sites
Какой?
[Types]
Name: custom; Description: "Пользовательская"; Flags: iscustom
Name: main; Description: "Фиксированная"

[Components]
Name: MP; Description: Этот компонент нельзя не выбрать.; Types: custom main;

Как-то так.

 

При этом станет отображаться комбоБокс TypesCombo, на странице выбора компонентов. Если его отображение не нужно, то можно убрать следующим образом:

[Code]
Procedure InitializeWizard();
begin
 WizardForm.TypesCombo.Hide;
end;
Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Эй, как я сделать "уведомление", что поп-вверх (в первый раз), когда человек, чтобы попытаться установить в месте, не WOT Установите местоположение?

 

Hey, how do I make a "notification" that pop's up (the first time) when a person try's to install to a location that is not the WOT Install location?

Edited by leeuniverse

Share this post


Link to post

Short link
Share on other sites

Ребята помогите!Переустановил инно теперь вылазит такая хрень 


поставил из шапки темы стало все нормально!

post-19655-0-20711200-1433262681_thumb.png

Edited by MEDNIKs

Share this post


Link to post

Short link
Share on other sites

 

 

Hey, how do I make a "notification" that pop's up (the first time) when a person try's to install to a location that is not the WOT Install location?
smth like this?
[Code]
Var
 Count: Integer;

Function NextButtonClick(CurPageID: Integer): Boolean;
begin
 Result := True;
 if CurPageID = wpSelectDir then
 begin
  if not (FileExists(ExpandConstant('{app}\WOTLauncher.exe')) and FileExists(ExpandConstant('{app}\WorldOfTanks.exe'))) then
  begin
   if Count = 0 then
    MsgBox('Incorrect game folder!', mbError, MB_OK);
   Count := Count + 1;
  end;
  Result := (Count = 2);
 end;
end;

 

 

Переустановил инно теперь вылазит такая хрень
А в гугл залезть и перевести, раз сам не можешь, нельзя?

И совет: если уже используешь языковой пакет, то таскай его рядом с инно, а не держи в папке с установленной программой.

Share this post


Link to post

Short link
Share on other sites

smth like this?

[Code]
Var
 Count: Integer;

Function NextButtonClick(CurPageID: Integer): Boolean;
begin
 Result := True;
 if CurPageID = wpSelectDir then
 begin
  if not (FileExists(ExpandConstant('{app}\WOTLauncher.exe')) and FileExists(ExpandConstant('{app}\WorldOfTanks.exe'))) then
  begin
   if Count = 0 then
    MsgBox('Incorrect game folder!', mbError, MB_OK);
   Count := Count + 1;
  end;
  Result := (Count = 2);
 end;
end;

 

Hey, thank you very much.....  It's close.

It works, but it looks like I need to put it with my existing code?

 

When I put the code in, it will work how you've written it, BUT, if the directory is already correct, can't click NEXT....

I have to make the directory "wrong" and I'll get the pop-up, and then I'll be able to go NEXT.

 

So, how can I put this in my current code, and it allow me to click NEXT if the directory is correct already?

 

Here's my current code.

function GetAppDir(Path: String): String;
begin
  if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1') then begin
    RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1', 'InstallLocation', Path);
    Result := Path end else
  Result := ExpandConstant('C:\Games\World_of_Tanks')
end;

Share this post


Link to post

Short link
Share on other sites
So, how can I put this in my current code, and it allow me to click NEXT if the directory is correct already?

Try this:

[Code]
Var
 Count: Integer;

Function GetAppDir(Path: String): String;
begin
 if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA}_is1', 'InstallLocation', Path);
  Result := Path
 end else
  Result := ExpandConstant('C:\Games\World_of_Tanks')
end;

Function NextButtonClick(CurPageID: Integer): Boolean;
begin
 Result := True;
 if CurPageID = wpSelectDir then
 begin
  case (FileExists(ExpandConstant('{app}\WOTLauncher.exe')) and FileExists(ExpandConstant('{app}\WorldOfTanks.exe'))) of
   False:
   begin
    if Count = 0 then
     MsgBox('Incorrect game folder!', mbError, MB_OK);
    Count := Count + 1;
    Result := (Count = 2);
   end;
   True: Result := True;
  end;
 end;
end;
Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Что только не писал, не ищет инсталятор путь к папке с танками, а предлагает установить в папку по умолчанию. 

Помогите.

 

Сейчас 

DefaultDirName={code:MyDirName}

function MyDirName(S:String): String;
var
  InsPath: String;
  er: boolean;
  myFile:String;
begin
  Result:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюда
  er := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);
  if er and (InsPath<>'') then //если ключ существует и там что-то записано
  begin
    Result := InsPath;
  end;
end;

Share this post


Link to post

Short link
Share on other sites

@psix89, а так:

RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);

Share this post


Link to post

Short link
Share on other sites

 

@psix89, а так:

RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);

Всеровно предлагает ставить в C:\Games\World_of_Tanks\

 

Попробовал так

DefaultDirName={reg:HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{1EAC1D02-C6AC-4FA6-9A44-96258C37C812NA_is1',InstallLocation|{pf}\World_of_Tanks}

Результат - C:\Program Files (x86)\World_of_Tanks\

Edited by psix89

Share this post


Link to post

Short link
Share on other sites

@psix89, ну значит у тебя игра не по родному пути стоит.

Переустанови игру.

Share this post


Link to post

Short link
Share on other sites

RegKeyExists(HKCU, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1')

для новых интсталляторов игры или

RegKeyExists(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1')

для старых.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...