Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Najjaci setup maker-i

[es] :: Windows aplikacije :: Najjaci setup maker-i

Strane: 1 2

[ Pregleda: 12196 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
93.87.4.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 07:33 - pre 175 meseci
Ne postoji tutorijal koji može sve obuhvatiti, jer su svačije potrebe različite.

Kreni od Inno Setup sajta, odnosno njegovog indeksa.

Program i pomoćni alati
- Downloads

Linkovi sa dokumentacijom: (ovde ćeš naći odgovore na većinu nedoumica)
- Documentation
- FAQ
- Knowledge Base

Prevodi za mnoge jezike (Tu ćeš pronaći i našu latinicu, kao i ćirilicu, pod uslovom da se koristi Unicode verzija programa)
- Translations

Newsgrupe (Zvanična podrška. Ovde možeš rešiti sve dnevne nedoumice u vezi instalera, skripti, alata, ...)
- Newsgroups


Od neznavičnih, a izuzetno korisnih linkova u vezi InnoSetup-a, izdvajam:
Inno Setup Extensions Knowledge Base

Evo par sporadičnih naslova sa tog linka:
Service - Functions to Start, Stop, Install, Remove a Service
Detect if an application is running
.NET - Detect framework
...


I konačno, evo jedne konkretne skripte (u kojoj sam se pored ostalog borio i sa greškama u projektovanju skripte, jer sam je loše zamislio u startu, a trebalo je zadržati kompatibilnost na niže)

Code:

;retrieve version of the program from exe
#define AppVersion GetFileVersion(AddBackslash(SourcePath) + "..\..\di.exe")


[Languages]
Name: mytrans; MessagesFile: "compiler:Serbian.isl"

[Registry]
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\Run"; ValueType: string; ValueName: "Di dictionary"; ValueData: "{app}"; Flags: uninsdeletevalue

Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\MenuExt\Prevedi sa Di recnikom"; ValueType: string; ValueData: "{app}\diie.htm"; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\MenuExt\Prevedi sa Di recnikom"; ValueType: dword; ValueName: "contexts"; ValueData: "$10"; Flags: uninsdeletekey

Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\MenuExt\Translate with Di dictionary"; ValueType: string; ValueData: ""; Flags: uninsdeletekey
Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\MenuExt\Translate with Di dictionary"; ValueType: dword; ValueName: "contexts"; ValueData: "$10"; Flags: uninsdeletekey

[Setup]

AppMutex={code:DetermineIfToSetMutex}
AppID=Di recnik
AppName=Di rečnik

AppVerName=Di rečnik, v{#AppVersion}
AppPublisher=Antivari Software Design, s.a.
AppPublisherURL=http://www.antivari.com
AppSupportURL=http://www.antivari.com
AppUpdatesURL=http://www.antivari.com

DefaultDirName={code:GetPrevDir|{pf}\Di recnik}
DefaultGroupName={code:GetPrevGrp|Di recnik}

AllowNoIcons=no

OutputDir=E:\Code\Borland\BCB6\Di\Setups\Serbian\Setup
OutputBaseFilename=setup_sr

LicenseFile=E:\Code\Borland\BCB6\Di\Setups\Serbian\License.txt
SetupIconFile=E:\Code\Borland\BCB6\Di\Setups\DI.ICO
WizardSmallImageFile=E:\Code\Borland\BCB6\Di\Setups\right_up.bmp
WizardImageFile=E:\Code\Borland\BCB6\Di\Setups\left.bmp


Compression=lzma
SolidCompression=yes

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "E:\Code\Borland\BCB6\Di\Di.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\di.mdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\borland\bcb6\Di\AddCode\JScript\diie.htm"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\Serbian\Di.ini"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\Borlndmm.dll"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\Borland\BCB6\Di\Setups\cc3260mt.dll"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\Borland\BCB6\Di\Setups\cc3260.dll"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\Borland\BCB6\Di\Setups\vcl60.bpl"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\Borland\BCB6\Di\Setups\rtl60.bpl"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\Borland\BCB6\Di\Setups\adortl60.bpl"; DestDir: "{sys}"; Flags: sharedfile
Source: "E:\Code\borland\bcb6\Di\AddCode\altfhook\ALTFHOOK.DLL"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\LHTTSENG.EXE"; DestDir: "{app}"; Flags: deleteafterinstall
Source: "E:\Code\Borland\BCB6\Di\Setups\SPCHAPI.EXE"; DestDir: "{app}"; Flags: deleteafterinstall
Source: "E:\Code\borland\bcb6\Di\AddCode\diie\diie.exe"; DestDir: "{app}"; Flags: deleteafterinstall
Source: "E:\Code\Borland\BCB6\Di\Setups\Serbian\Manual.pdf"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\borland\bcb6\Di\Setups\Chm_and_Web\CHM\Serbian\Di.chm"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\Serbian\History of changes.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\Serbian\Known bugs.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\Code\Borland\BCB6\Di\Setups\Serbian\License.txt"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files


[Icons]
Name: "{group}\Di recnik"; Filename: "{app}\Di.exe"
Name: "{group}\Pomoc"; Filename: "{app}\Di.chm"
Name: "{group}\Uputstvo za korisnike"; Filename: "{app}\Manual.pdf"
Name: "{group}\Istorija izmena"; Filename: "{app}\History of changes.TXT"
Name: "{group}\Licenca"; Filename: "{app}\License.TXT"
Name: "{group}\Poznate greske"; Filename: "{app}\Known bugs.TXT"
Name: "{group}\{cm:UninstallProgram,Di recnik}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\Di recnik"; Filename: "{app}\Di.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Di recnik"; Filename: "{app}\Di.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\Di.exe"; Description: "{cm:LaunchProgram,Di rečnik}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\SPCHAPI.EXE"; Parameters: "/q"
Filename: "{app}\LHTTSENG.EXE"; Parameters: "/q"
Filename: "{app}\diie.exe"; Parameters: "{app}"

[UninstallDelete]
Type: filesandordirs; Name: "{app}\*.*"
Type: filesandordirs; Name: "{group}\*.*"

[Code]

// =========================================================================================================================
// GLOBAL VARIABLES
// =========================================================================================================================
// New EXE version
const THIS_VERSION = '{#AppVersion}';

// First EXE version with ability to be closed programmaticaly
const THE_FIRST_VER_WITH_AUTOMATIC_CLOSE = '1.0.0.56';

// previuos install dir
var PrevDir: String;

// previous group
var PrevGrp: String;

// is Overwrite ? ... because of skipping few pages ...
var Overwrite: Boolean;

// installed program version
var InstalledVer: String;
// =========================================================================================================================




// =========================================================================================================================
// DECODING THE APP VERSION FROM EXE
// =========================================================================================================================
// Decoding
procedure DecodeVersion( verstr: String; var verint: array of Integer );
   var i,p: Integer; s: string;
   begin
      // initialize array
      verint := [0,0,0,0];
      i := 0;
      while ( (Length(verstr) > 0) and (i < 4) ) do
         begin
                p := pos('.', verstr);
            if p > 0 then
               begin
                 if p = 1 then
                    s:= '0'
                 else
                    s:= Copy( verstr, 1, p - 1 );

                 verint[i] := StrToInt(s);
                 i := i + 1;
                 verstr := Copy( verstr, p+1, Length(verstr));
               end
            else
               begin
                  verint[i] := StrToInt( verstr );
                  verstr := '';
               end;
         end;
   end;

// Comparing: return -1 if ver1 < ver2,  return  0 if ver1 = ver2, return  1 if ver1 > ver2
function CompareVersion( ver1, ver2: String ) : Integer;
   var verint1, verint2: array of Integer;
       i: integer;
   begin

      SetArrayLength( verint1, 4 );
      DecodeVersion( ver1, verint1 );

      SetArrayLength( verint2, 4 );
      DecodeVersion( ver2, verint2 );

      Result := 0; i := 0;
      while ( (Result = 0) and ( i < 4 ) ) do
         begin
                if verint1[i] > verint2[i] then
               Result := 1
            else
               if verint1[i] < verint2[i] then
                      Result := -1
               else
                  Result := 0;

                i := i + 1;
         end;
   end;
// =========================================================================================================================




// =========================================================================================================================
// GETTING PREVIOUS INSTALLATION DATA FROM REGISTRY
// =========================================================================================================================
// Get where the application was installed
function GetPathInstalled( InstallID: String ): String;
   var sPrevPath: String;
   begin
      sPrevPath := '';
      if not RegQueryStringValue( HKLM,
                                  'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + InstallID + '_is1',
                                  'Inno Setup: App Path',
                                  sPrevPath ) then
         RegQueryStringValue( HKCU,
                              'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + InstallID + '_is1',
                              'Inno Setup: App Path',
                              sPrevPath );
      Result := sPrevPath;
   end;

// Get the Group Name
function GetIconGroupName( InstallID: String ): String;
   var sIconGroupName: String;
   begin
      sIconGroupName := '';
      if not RegQueryStringValue( HKLM,
                                  'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + InstallID + '_is1',
                                  'Inno Setup: Icon Group',
                                  sIconGroupName ) then
         RegQueryStringValue( HKCU,
                              'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + InstallID + '_is1',
                              'Inno Setup: Icon Group',
                              sIconGroupName );
      Result := sIconGroupName;
   end;

// Is installed before
function IsInstalledBefore( InstallID : String ) : String;
   begin
     Result := GetPathInstalled( InstallID )
   end;
// =========================================================================================================================




// =========================================================================================================================
// CONDITIONAL ASSIGNMENTS FOR THE [Setup] SECTION
// =========================================================================================================================
// Global previous directory
function GetPrevDir( s : String ) : String;
   begin
      if length( PrevDir ) = 0 then
         Result := s
      else
         Result := PrevDir;
   end;

// Global previous group
function GetPrevGrp( s : String ) : String;
   begin
      if length( PrevGrp ) = 0 then
         Result := s
      else
         Result := PrevGrp;
   end;

// Should set mutex to prevent from installing
function DetermineIfToSetMutex( s: String ) : String;
   var vercomp : Integer;
   var PreviousDir : String;
   var VerInstalled : String;
   begin

      Result := 'fake_mutex';

      // read the installation folder
      PreviousDir := IsInstalledBefore( '{#SetupSetting("AppID")}' );

      // This is because of the fact that I haven't set the AppID in the versions < 1.0.0.51
      if ( PreviousDir = '' ) then
         PreviousDir := IsInstalledBefore( '{#SetupSetting("AppName")}' );

      if length( PreviousDir ) > 0 then
         begin

            // read the version of di.exe already installed
            GetVersionNumbersString(  PreviousDir + '\di.exe' , VerInstalled );

            // compare versions
            vercomp := CompareVersion( VerInstalled, THE_FIRST_VER_WITH_AUTOMATIC_CLOSE );

            // version is smaller, so there is no mechanism to close the running app - keep mutex solution
            if vercomp < 0 then
               begin
                  Result := 'notdi';
               end
         end
   end;
// =========================================================================================================================




// =========================================================================================================================
// CLOSING THE APP
// =========================================================================================================================
// Closing code
procedure QuitApp;
   var h : integer;
      begin
         h := FindWindowByClassName('TDiMainForm');
         SendMessage(h, 1024+1005, 0, 0 );
      end;

// Closing app after Install button
procedure CurStepChanged(CurStep: TSetupStep);
   begin
      if ( CurStep = ssInstall ) then
         begin
            QuitApp;
            Sleep(3000);
         end
   end;

// Closing app after OK button on Uninstall
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
   begin
      if ( CurUninstallStep = usUninstall ) then
         begin
            QuitApp;
            Sleep(3000);
         end
   end;
// =========================================================================================================================



// =========================================================================================================================
// SKIPPING PAGES IF THE FOLDER EXISTS
// =========================================================================================================================
function ShouldSkipPage(PageID: Integer): Boolean;
   begin
      Result := false
      if Overwrite then
         begin
            if ( PageID = wpSelectDir ) then
               Result := true
            if ( PageID = wpSelectProgramGroup ) then
               Result := true
            if ( PageID = wpSelectTasks ) then
               Result := true
         end
   end;




// *************************************************************************************************************************
// INITIALIZATION
// *************************************************************************************************************************
function InitializeSetup(): Boolean;
   var vercomp, answ : Integer;
   begin
      // Pessimistic
      Result := false;

      // Pessimistic
      Overwrite := false;

      // Is app installed before -------------------------------------------------------------------------------------------
      PrevDir := IsInstalledBefore( '{#SetupSetting("AppID")}' );

      // If previous failed, ask again but with new argument
      // (this is because of the fact that I haven't set the AppID in the versions < 1.0.0.51)
      if ( PrevDir = '' ) then
         PrevDir := IsInstalledBefore( '{#SetupSetting("AppName")}' );


      // Set group name ----------------------------------------------------------------------------------------------------
      PrevGrp := GetIconGroupName( '{#SetupSetting("AppID")}' );

      // If previous failed, ask again but with new argument
      // (this is because of the fact that I haven't set the AppID in the versions < 1.0.0.51)
      if ( PrevGrp = '' ) then
         PrevGrp := GetIconGroupName( '{#SetupSetting("AppName")}' );


      if length( PrevDir ) > 0 then
         begin
            // It's an upgrade
            Overwrite := true;

            // read the version of MyProg.exe already installed
            GetVersionNumbersString(  PrevDir + '\di.exe' , InstalledVer );

            // compare versions
            vercomp := CompareVersion( InstalledVer, THIS_VERSION );

            // version smaller
            if vercomp < 0 then
               begin
                  //if MsgBox( 'A previous version of Di dictionary is already installed.'#13
                  //           'It is recommended that you uninstall the existing version (Control Panel / Add Remove Programs) before running this setup.'#13#13
                  //           'If you still decide to overwrite the old version, you will not be able to chose the destination location and the Start menu folder.'#13#13
                  //           'Click OK to continue, or Cancel to abort.', mbInformation, MB_okcancel) = idok then

                  if MsgBox( 'Prethodna verzija Di rečnika je već instalirana.'#13
                             'Preporučuje se da deinstalirate prethodnu verziju (Control Panel/Add Remove Programs) pre nastavka instalacije.'#13
                             'Ako se ipak odlučite da instalirate preko stare verzije, nećete moći da birate odredišnu lokaciju i programsku grupu za Start meni.'#13#13
                             'Pritisnike OK za nastavak, ili Cancel da izađete.', mbInformation, MB_OKCANCEL ) = IDOK then
                     Result := true;
               end;

            // same version, ask what to do
            if vercomp = 0 then
               begin
                  answ := MsgBox( 'Utvrđeno je da je identična verzija programa ('+ InstalledVer  +') već instalirana.'
                                  + #13#13 + 'Da li želite da ipak izvršite instalaciju?', mbConfirmation, MB_YESNO )

                  // If user answer is NO abort setup
                  Result := ( answ = IDYES );
               end;

            // version bigger, cannot upgrade with a smaller version
            if vercomp > 0 then
               begin
                  MsgBox('Pronađena je verzija Di rečnik, '+ InstalledVer +
                      ' a Vi želite da instalirate verziju ' + THIS_VERSION
                      + #13#13 + 'Instalacija je prekinuta. Ako ipak želite da instalirate ovu verziju, prethodno morate deinstalirati aktuelnu.', mbError, MB_OK );
                  Result := false;
              end;

         end

      if Length ( PrevDir ) = 0 then
         Result := true;

   end;
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
109.93.18.*



+21 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 07:46 - pre 175 meseci
Prevod na srpski možete uraditi i sami, tako što prevedete postojeći engleski *.isl fajl u kom se nalazi skripta programa

Jedan primer
Code:
; *** Inno Setup version 4.2.2+ Serbian messages ***
;
; To download user-contributed translations of this file, go to:
;   http://www.jrsoftware.org/is3rdparty.php
;
; Note: When translating this text, do not add periods (.) to the end of
; messages that didn't have them already, because on those messages Inno
; Setup adds the periods automatically (appending a period would result in
; two periods being displayed).
;
; $jrsoftware: issrc/Files/Default.isl,v 1.58 2004/04/07 20:17:13 jr Exp $

[LangOptions]
LanguageName=Srpski
LanguageID=$0424
LanguageCodePage=1250
; If the language you are translating to requires special font faces or
; sizes, uncomment any of the following entries and change them accordingly.
DialogFontName=Arial
DialogFontSize=9
WelcomeFontName=Arial
;WelcomeFontSize=12
;TitleFontName=Arial
;TitleFontSize=29
CopyrightFontName=Arial
CopyrightFontSize=9

[Messages]

; *** Application titles
SetupAppTitle=ZORd® Softver za zubnu ordinaciju
SetupWindowTitle=AŽURIRANJE Instalacije: "%1"
UninstallAppTitle=Deinstalacija %1
UninstallAppFullTitle=%1 - Deinstalacija aplikacije

; *** Misc. common
InformationTitle=Informacija
ConfirmTitle=Potvrda
ErrorTitle=Greška

; *** SetupLdr messages
SetupLdrStartupMessage=Ovim ćete AŽURIRATI POSTOJEĆU aplikaciju:%n"%1".%nVaši postojeći poslovni PODACI NEĆE BITI MENJANI.%nDa li želite da nastavite?
LdrCannotCreateTemp=Nije moguće kreirati privremenu datoteku. Instalacija je prekinuta
LdrCannotExecTemp=Nije moguće pokrenuti izvršnu datoteku u privremenom folderu. Instalacija je prekinuta

; *** Startup error messages
LastErrorMessage=%1.%n%nGreška %2: %3
SetupFileMissing=Datoteka %1 nedostaje u instalacionom folderu. Molimo da otklonite problem ili nabavite novu kopiju programa.
SetupFileCorrupt=Instalacione datoteke su oštećene. Molimo Vas da nabavite novu kopiju programa.
SetupFileCorruptOrWrongVer=Instalacione datoteke su oštećene, ili nisu kompatibilne sa ovom verzijom instalacije. Molimo da otklonite problem ili nabavite novu kopiju programa.
NotOnThisPlatform=Ovaj program ne može da se pokrene pod %1.
OnlyOnThisPlatform=Ovaj program se mora pokrenuti pod %1.
WinVersionTooLowError=Program zahteva %1 verziju %2 ili noviju.
WinVersionTooHighError=Ovaj program ne može biti instaliran pod %1 verzija %2 ili novija.
AdminPrivilegesRequired=Morate biti prijavljeni kao administrator prilikom instalacije ovog programa.
PowerUserPrivilegesRequired=Morate biti prijavljeni kao administrator ili kao član "Power Users" grupe prilikom instalacije ovog programa.
SetupAppRunningError=Instalacija je detektovala da je %1 trenutno aktivan.%n%nZatvorite molim, sve instance istog a potom kliknite na "OK" za nastavak, ili "Cancel" da odustanete.
UninstallAppRunningError=Deinstalacija je detektovala da je %1 trenutno aktivan.%n%nZatvorite molim, sve instance istog a potom kliknite na "OK" za nastavak, ili "Cancel" da odustanete.

; *** Misc. errors
ErrorCreatingDir=Instalacija nije mogla da kreira folder "%1"
ErrorTooManyFilesInDir=Nije moguće kreirati datoteku u folderu "%1", pošto ima previše datoteka

; *** Setup common messages
ExitSetupTitle=Prekid instalacije
ExitSetupMessage=Instalacija nije završena. Ako sada odustanete, program neće biti instaliran.%n%nMožete ponovo pokrenuti instalaciju, bilo kada i izvesti je do kraja.%n%nNapuštate instalaciju?
AboutSetupMenuItem=&O Instalaciji...
AboutSetupTitle=O Instalaciji
AboutSetupMessage=%1 verzija %2%n%3%n%n%1 matična strana:%n%4
AboutSetupNote=Instalacija ©Media Data, Vladimir Ćurčić, [email protected]

; *** Buttons
ButtonBack=< &Nazad
ButtonNext=N&apred >
ButtonInstall=&Instaliraj
ButtonOK=OK
ButtonCancel=Odustani
ButtonYes=&Da
ButtonYesToAll=Da za &sve
ButtonNo=&Ne
ButtonNoToAll=N&e za sve
ButtonFinish=&Završi
ButtonBrowse=&Potraži...
ButtonWizardBrowse=P&otraži...
ButtonNewFolder=&Novi folder

; *** "Select Language" dialog messages
SelectLanguageTitle=Odaberite jezik instalacije
SelectLanguageLabel=Odaberite jezik koji će se koristiti tokom instalacije:

; *** Common wizard text
ClickNext=Kliknite na "Napred" za nastavak, ili na "Odustani" za prekid instalacije.
BeveledLabel= Instalacija ©Media Data | Vladimir Ćurčić | +381 (22) 123-456 | [email protected]
BrowseDialogTitle=Potraži folder
BrowseDialogLabel=Odaberite folder sa donje liste, a potom kliknite na "OK".
NewFolderName=Novi Folder

; *** "Welcome" wizard page
WelcomeLabel1=Dobrodošli !%n%nAsistent za instalaciju će Vam pomoći da ažurirate postojeću aplikaciju: %n"[name]"%nna Vašem kompjuteru.%nVaši postojeći poslovni PODACI NEĆE BITI MENJANI!
WelcomeLabel2=Ovim ćete instalirati ažuriranu aplikaciju: %n"[name/ver]"%nna Vaš kompjuter.%n%nPreporučuje se da zatvorite sve ostale programe, pre nego što nastavite dalje.

; *** "Password" wizard page
WizardPassword=SERIJSKI BROJ PROGRAMA
PasswordLabel1=Instalacija je zaštićena serijskim brojem.
PasswordLabel3=Unesite serijski broj, a potom kliknite na "Napred" za nastavak.%nSerijski broj je osetljiv na velika i mala slova.
PasswordEditLabel=&Serijski Br.:
IncorrectPassword=Serijski broj nije ispravan. Unesite ga ponovo.

; *** "License Agreement" wizard page
WizardLicense=Sporazum o Licenci
LicenseLabel=Pre nego što nastavite dalje, pročitajte obavezno sledeći važan tekst.
LicenseLabel3=Pročitajte obavezno sledeći Sporazum o Licenci. Morate prihvatiti navedene uslove ovog sporazuma pre nastavka instalacije.
LicenseAccepted=Prihv&atam  sporazum
LicenseNotAccepted=&Ne prihvatam sporazum

; *** "Information" wizard pages
WizardInfoBefore=Informacija
InfoBeforeLabel=Pre nego što nastavite dalje, pročitajte obavezno sledeću važnu informaciju.
InfoBeforeClickLabel=Ako ste spremni da nastavite instalaciju, kliknite na  "Napred".
WizardInfoAfter=Informacija
InfoAfterLabel=Pre nego što nastavite dalje, pročitajte obavezno sledeću važnu informaciju.
InfoAfterClickLabel=Ako ste spremni da nastavite instalaciju, kliknite na "Napred".

; *** "User Information" wizard page
WizardUserInfo=Informacije o korisniku
UserInfoDesc=Unesite Vaše podatke.
UserInfoName=&Korisničko ime:
UserInfoOrg=&Organizacija:
UserInfoSerial=&Serijski broj:
UserInfoNameRequired=Morate uneti ime.

; *** "Select Destination Location" wizard page
WizardSelectDir=Odaberite odredišnu lokaciju
SelectDirDesc=Gde bi ste želeli da instalirate aplikaciju: %n"[name]" ?
SelectDirLabel3=Aplikacija: %"[name]" %nće biti instalirana u sledeći folder.
SelectDirBrowseLabel=Za nastavak instalacije, kliknite "Napred". Ako želite da promenite odredišni folder, kliknite na "Potraži".
DiskSpaceMBLabel=Potrebno je bar [mb] MB slobodnog mesta na disku.
ToUNCPathname=Instalacija nije moguća na UNC putanji. Ako pokužavate instalaciju na mreži, morate izvršiti mapiranje mrežnog diska.
InvalidPath=Morate navesti puni naziv putanje i oznaku diska; Na primer:%n%nC:\APP%n%nIli UNC putanju u obliku:%n%n\\server\share
InvalidDrive=Disk ili UNC share koji ste odabrali ne postoji ili je nedostupan. Odaberite drugi.
DiskSpaceWarningTitle=Nema dovoljno mesta na disku
DiskSpaceWarning=Instalacija zahteva bar %1 KB slobodnog mesta na disku, ali na odabranom disku ima samo %2 KB slobodno.%n%nDa li i dalje želite da nastavite?
DirNameTooLong=Naziv foldera ili putanje je predugačak.
InvalidDirName=Naziv foldera je ne važeći.
BadDirName32=U nazivu foldera nisu dozvoljeni sledeći znaci:%n%n%1
DirExistsTitle=Folder sa tim nazivom već postoji
DirExists=Folder:%n%n%1%n%nveć postoji.Da li i dalje želite da instalirate u taj folder?
DirDoesntExistTitle=Folder ne postoji
DirDoesntExist=Folder:%n%n%1%n%nne postoji. Da li želite da bude kreiran?

; *** "Select Components" wizard page
WizardSelectComponents=TIP INSTALACIJE (ne možete birati)
SelectComponentsDesc=Odabrani tip: AŽURIRANJE POSTOJEĆEG PROGRAMA ?
SelectComponentsLabel2=AŽURIRANJE PROGRAMA.%nKliknite na "Napred" ako ste spremni da nastavite.
FullInstallation=KOMPLETNA INSTALACIJA
; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language)
CompactInstallation=AŽURIRANJE PROGRAMA
CustomInstallation=ODABRANE komponente
NoUninstallWarningTitle=Komponente već postoje
NoUninstallWarning=Instalacijom je detektovano da sledeće komponente već postoje na Vašem kompjuteru:%n%n%1%n%nOtkazivanjem istih, sprečićete instalaciju ovih komponenti.%n%nDa li svakako želite da nastavite?
ComponentSize1=%1 KB
ComponentSize2=%1 MB
ComponentsDiskSpaceMBLabel=Trenutni izbor zahteva bar [mb] MB prostora na disku.

; *** "Select Additional Tasks" wizard page
WizardSelectTasks=Odaberite dodatne postavke
SelectTasksDesc=Koje od dodatnih postavki želite?
SelectTasksLabel2=Odaberite dodatne postavke za aplikaciju: %n"[name]"%nPotom kliknite na "Napred".

; *** "Select Start Menu Folder" wizard page
WizardSelectProgramGroup=Odaberite folder na Start Meniju
SelectStartMenuFolderDesc=Gde želite da instalirate prečice aplikacije?
SelectStartMenuFolderLabel3=Prečice aplikacije će biti instalirane u sledeći folder Start Menija.
SelectStartMenuFolderBrowseLabel=Kliknite "Napred" da nastavite.  Ako želite da promenite folder, kliknite na "Potraži".
NoIconsCheck=&Ne kreiraj nikakve ikone
MustEnterGroupName=Morate uneti naziv foldera.
GroupNameTooLong=Naziv foldera ili putanje je predugačak.
InvalidGroupName=Nedozvoljen naziv foldera.
BadGroupName=U nazivu foldera nisu dozvoljeni sledeći znaci:%n%n%1
NoProgramGroupCheck2=&Ne kreiraj folder Start Menija

; *** "Ready to Install" wizard page
WizardReady=Pripreme za instalaciju su završene
ReadyLabel1=Možete započeti instalaciju aplikacije:%n"[name]" na Vaš kompjuter.
ReadyLabel2a=Kliknite na "Instaliraj" da nastavite instalaciju, ili "Nazad" ako želite da proverite ili izmenite postavke.
ReadyLabel2b=Kliknite na "Instaliraj" da nastavite instalaciju.
ReadyMemoUserInfo=Informacije o korisniku:
ReadyMemoDir=Odredišna lokacija:
ReadyMemoType=Tip instalacije:
ReadyMemoComponents=Odabrane komponente:
ReadyMemoGroup=Folder na Start Meniju:
ReadyMemoTasks=Dodatne postavke:

; *** "Preparing to Install" wizard page
WizardPreparing=Priprema instalacije
PreparingDesc=Započinjem instalaciju aplikacije:%n"[name]" na Vaš kompjuter.
PreviousInstallNotCompleted=Instalacija / uklanjanje prethodnog programa nije dovršena. Morate izvršiti ponovno pokretanje sistema da dovršite prethodnu instalaciju.%n%nNakon ponovnog pokretanja sistema, ponovo pokrenite i dovršite intstalaciju aplikacije:%n"[name]".
CannotContinue=Nije moguć nastavak instalacije. Kliknite na "Odustajem" da izađete.

; *** "Installing" wizard page
WizardInstalling=Instaliram
InstallingLabel=Sačekajte molim, da se "[name]" instalira na Vaš kompjuter.

; *** "Setup Completed" wizard page
FinishedHeadingLabel=Ovim je završeno ažuriranje aplikacije:%n%n"[name]".
FinishedLabelNoIcons=Ažuriranje aplikacije:%n"[name]" na Vaš kompjuter je uspešno izvršeno.
FinishedLabel=Ažuriranje aplikacije:%n"[name]"%nna Vašem kompjuteru je uspešno završena.%n%nInstaliranu aplikaciju možete pokrenuti putem instaliranih ikona.
ClickFinish=Kliknite na "Završi" da okončate instalaciju.
FinishedRestartLabel=Da bi kompletirali instalaciju aplikacije:%n"[name]", morate restartovati kompjuter. Da li želite da ga restartujete sada?
FinishedRestartMessage=Da bi kompletirali instalaciju aplikacije:%n"[name]",%nmorate restartovati kompjuter.%n%nDa li želite da ga restartujete sada?
ShowReadmeCheck=Da, želim da pogledam README datoteku
YesRadio=&Da, restartuj kompjuter odmah
NoRadio=&Ne, restartovaću ga sam kasnije
; used for example as 'Run MyProg.exe'
RunEntryExec=Pokreni %1
; used for example as 'View Readme.txt'
RunEntryShellExec=Pogledaj %1

; *** "Setup Needs the Next Disk" stuff
ChangeDiskTitle=Za instalaciju je potreban sledeći disk
SelectDiskLabel2=Ubacite Disk %1 i kliknite OK.%n%nAko se datoteke nalaze u različitom folderu od prikazanog ispod, navedite ispravnu putanju ili kliknite "Potraži".
PathLabel=&Putanja:
FileNotInDir2=Datoteka "%1" nije pronađena na "%2". Ubacite odgovarajući disk ili navedite tačan folder.
SelectDirectoryLabel=Navedite molim, tačnu lokaciju na disku.

; *** Installation phase messages
SetupAborted=Ažuriranje aplikacije nije dovršeno.%n%nOtklonite problem i ponovo pokrenite instalaciju.
EntryAbortRetryIgnore=Kliknite na "Retry" da pokušate ponovo, "Ignore" da produžite dalje, ili "Abort" da odustanete.

; *** Installation status messages
StatusCreateDirs=Kreiram foldere...
StatusExtractFiles=Raspakujem datoteke...
StatusCreateIcons=Kreiram prečice...
StatusCreateIniEntries=Kreiram INI stavke...
StatusCreateRegistryEntries=Kreiram stavke registra...
StatusRegisterFiles=Registrujem datoteke...
StatusSavingUninstall=Snimam informaciju za deinstalaciju...
StatusRunProgram=Dovršavam instalaciju...
StatusRollback=Poništavam izmene...

; *** Misc. errors
ErrorInternal2=Interna greška: %1
ErrorFunctionFailedNoCode=%1 neuspešno
ErrorFunctionFailed=%1 neuspešno; kod %2
ErrorFunctionFailedWithMessage=%1 neuspešno; kod %2.%n%3
ErrorExecutingProgram=Izvršenje datoteke:%n%1 nije moguće

; *** Registry errors
ErrorRegOpenKey=Greška u otvaranju registar ključa:%n%1\%2
ErrorRegCreateKey=Greška u kreiranju registar ključa:%n%1\%2
ErrorRegWriteKey=Greška upisa u registar ključ:%n%1\%2

; *** INI errors
ErrorIniEntry=Greška kreiranja INI postavke u datoteci "%1".

; *** File copying errors
FileAbortRetryIgnore=Kliknite na "Retry" da ponovo pokušate, "Ignore" da preskočite ovu datoteku (nije preporučljivo), ili "Abort" da otkažete instalaciju.
FileAbortRetryIgnore2=Kliknite na "Retry" da ponovo pokušate, "Ignore" da svakako nastavite (nije preporučljivo), ili "Abort" da otkažete instalaciju.
SourceIsCorrupted=Izvorna datoteka je oštećena
SourceDoesntExist=Izvorna datoteka "%1" ne postoji
ExistingFileReadOnly=Postojeća datoteka je označena sa "read-only".%n%nKliknite "Retry" da uklonite "read-only" atribut i pokušate ponovo, "Ignore" da preskočite ovu datoteku, ili "Abort" da otkažete instalaciju.
ErrorReadingExistingDest=Došlo je do greške pri pokušaju čitanja postojeće datoteke:
FileExists=Datoteka već postoji.%n%nDa li želite da je prebrišete novom?
ExistingFileNewer=Postojeća datoteka je novija od ove, koju pokušavate da instalirate. Preporučuje se da zadržite postojeću datoteku.%n%nDa li želite da zadržite postojeću datoteku?
ErrorChangingAttr=Došlo je do greške pri pokušaju promene atributa postojeće datoteke:
ErrorCreatingTemp=Došlo je do greške pri pokušaju kreiranja datoteke u odredišnom folderu:
ErrorReadingSource=Došlo je do greške pri pokušaju čitanja izvorne datoteke:
ErrorCopying=Došlo je do greške pri pokušaju kopiranja datoteke:
ErrorReplacingExistingFile=Došlo je do greške pri pokušaju zamene postojeće datoteke:
ErrorRestartReplace=Restart - Zamena nije uspela:
ErrorRenamingTemp=Došlo je do greške pri pokušaju preimenovanja datoteke u odredišnom folderu:
ErrorRegisterServer=Nije moguća registracija DLL/OCX: %1 
ErrorRegisterServerMissingExport=DllRegisterServer export nije pronađen
ErrorRegisterTypeLib=Nije moguće registrovati biblioteku tipa: %1

; *** Post-installation errors
ErrorOpeningReadme=Došlo je do greške pri pokušaju otvaranja README datoteke.
ErrorRestartingComputer=Instalacija nije uspela da restartuje kompjuter. Uradite to ručno, molim.

; *** Uninstaller messages
UninstallNotFound=Datoteka "%1" ne postoji. Deinstalacija nije moguća.
UninstallOpenError=Ne mogu da otorim datoteku "%1". Deinstalacija nije moguća
UninstallUnsupportedVer=Deinstalacino uputstvo "%1" je u formatu, koji ova instalacija ne može da protumači. Deinstalacija nije moguća
UninstallUnknownEntry=Nepoznati unos (%1) je pronađen u datoteci deinstalacionog uputstva
ConfirmUninstall=Da li stvarno želite kompletnu deinstalaciju aplikacije:%n "%1"%n i svih pripadajućih komponenata?
OnlyAdminCanUninstall=Ova aplikacija može biti deinstalirana isključivo od strane korisnika sa administratorskim ovlašćenjima.
UninstallStatusLabel=Sačekajte dok se aplikacija:%n"%1" deinstalira sa Vašeg kompjutera.
UninstalledAll=Aplikacija:%n"%1"%nje uspešno deinstalirana sa Vašeg kompjutera.
UninstalledMost=%1 - Deinstalacija je završena.%n%nNeki od elemenata nisu mogli biti uklonjeni. Iste je moguće ukloniti ručno.
UninstalledAndNeedsRestart=Da bi ste završili deinstalaciju aplikacije:%n"%1", morate restartovati kompjuter.%n%nDa li želite da ga restartujete odmah?
UninstallDataCorrupted="%1" datoteka je oštećena. Deinstalacija nije moguća

; *** Uninstallation phase messages
ConfirmDeleteSharedFileTitle=Ukloni deljenu datoteku?
ConfirmDeleteSharedFile2=Sistem ukazuje da sledeću deljenu datoteku ne koristi više nijedan program. Da li želite da uklonite ovu deljenu datoteku tokom deinstalacije?%n%nAko deljenu datoteku ipak koristi još neki od programa, funkcionalnost istog će biti poremećena uklanjanjem ove datoteke. Ako niste sigurni odaberite "No". Ostavljanje ove datoteke u vašem sistemu ne može da našteti.
SharedFileNameLabel=Naziv datoteke:
SharedFileLocationLabel=Lokacija:
WizardUninstalling=Deinstalacioni status
StatusUninstalling=Deinstaliram: %1...

; The custom messages below aren't used by Setup itself, but if you make
; use of them in your scripts, you'll want to translate them.

[CustomMessages]

NameAndVersion=%1 verzija %2
AdditionalIcons=Dodatne ikone:
CreateDesktopIcon=Kreiraj ikonu na &radnoj površini ("Desktop")
CreateQuickLaunchIcon=Kreiraj ikonu na "&Quick Launch" paleti
ProgramOnTheWeb=%1 na internetu
UninstallProgram=Ukloni %1
LaunchProgram=Pokreni: "%1"
AssocFileExtension=&Pridruži %1 ekstenzijama %2 datoteka
AssocingFileExtension=pridružujem %1 ekstenzijama %2 datoteka...

 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
93.86.86.*

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 08:48 - pre 175 meseci
Ok evo konkretno. Da se zadrzimo na pravljenju update-a. Ima opcija da on shvati da li je neki fajl stari pa ako jeste da ga zameni (vezano za gore spomenuti tool). E sad, na osnovu cega on shvata da li je neki faj novi pa ga treba upisati preko starog ili je stari pa ga treba ostaviti? Da li to radi automatski ili kada pravimo update moramo napisati update za verziju (ako je prethodna 1.0 sada ide 1.1) pa mu bukvalno rucno zadamo koji fajl da ostavi a koji da promeni ili se to moze uraditi da on shvati koja je razlika u odnosu na bilo koju narednu verziju?
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
93.87.4.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 09:17 - pre 175 meseci
Update je preširok pojam.

- Svaki fajl ima neki svoj "timestamp" (comparetimestamp) pa se to može iskoristiti.
- Kada praviš instalacionu proceduru TI ZNAŠ koja je verzija Updatea u pitanju i možeš da vidiš koja je verzija instalirana, tj. vladaš informacijama, pa logiku ugradi u samu instalaciju.


 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
93.86.86.*

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 09:26 - pre 175 meseci
Znaci ako dobro razumem, dovoljno je za svaki file ukljuciti compare timestamp i on ce taj fajl zameniti sa novim ako je onaj stari i obrnuto?
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12846



+4783 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 16:28 - pre 175 meseci
Meni vise zvuci da ce ti kada to uradis reci da li je stariji, noviji ili isti, a ti onda odredis sta da uradi.
 
Odgovor na temu

Nevena79
???

Član broj: 202308
Poruke: 335
*.adsl-a-3.sezampro.rs.

Sajt: www.tablic-klub.com


+1 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 16:47 - pre 175 meseci
Ja ne vidim da se ista od toga desava ma sta ja tamo ukljucivala. Jednostavno instalacija prodje kao i do tada. Onaj gore post za desktop je pomogao a sve ovo ostalo ili ne znam koristiti ili ne radi. Btw nema veze, resicu ga na obilazni nacin, samo sam se ponadala da ima instant resenje, dodas 2 kapi vode i brrrrrrrp iskoci sta ti treba.
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
79.101.214.*



+21 Profil

icon Re: Najjaci setup maker-i06.11.2009. u 21:12 - pre 175 meseci
ISTool...


Prikačeni fajlovi
 
Odgovor na temu

stonex

Član broj: 25873
Poruke: 642
*.adsl-1.sezampro.yu.



+9 Profil

icon Re: Najjaci setup maker-i10.11.2009. u 22:22 - pre 175 meseci
http://www.advancedinstaller.com/


 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-8.sezampro.rs.



+322 Profil

icon Re: Najjaci setup maker-i21.02.2010. u 15:13 - pre 171 meseci
Kako Inno setup-u reci da ne kreira nista u control panel-u za deinstalaciju vec samo da prekopira neke fajlove negde?
 
Odgovor na temu

Catch 22

Član broj: 148083
Poruke: 6176
*.dynamic.isp.telekom.rs.



+21 Profil

icon Re: Najjaci setup maker-i21.02.2010. u 20:33 - pre 171 meseci
^ Za to ti ne treba Inno Setup, jer to može da se uradi sa bilo kojim boljim arhiverom (WinRAR, WinZip...), sve što treba je da napraviš samo-raspakujući exe fajl (uključiv i strukturu foldera po potrebi). Možeš da dodaješ i razne poruke, uslove licence itd...
 
Odgovor na temu

Blue82
dipl. ecc.

Član broj: 165981
Poruke: 838
*.adsl-a-1.sezampro.yu.



+322 Profil

icon Re: Najjaci setup maker-i22.02.2010. u 20:34 - pre 171 meseci
Catch hvala puno. Nisam ni znao za tako nesto dok mi nisi rekao pa sam malo pogledao.
 
Odgovor na temu

monkeyjob
Beograd, Srbija

Član broj: 277099
Poruke: 117
*.dynamic.sbb.rs.



+7 Profil

icon Re: Najjaci setup maker-i06.02.2011. u 02:17 - pre 159 meseci
1. System Center Configuration Manager 2007 -ovaj program ima mnogo toga, samo ti treba i dosta vremena da provalis kao radi.
2. Kaspersky Administration Kit - Nema bas sve, ali instalaciaj na udlajene lokacije i sta racunar sve ima (HW i SW), a pritom je besplatan.
http://www.kaspersky.com/productupdates?chapter=146274756
i skini full verziju


Monkeyjob
 
Odgovor na temu

[es] :: Windows aplikacije :: Najjaci setup maker-i

Strane: 1 2

[ Pregleda: 12196 | Odgovora: 32 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.