abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    včera 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 15:11 | Nová verze

    Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.0.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | IT novinky

    Nejvyšší soud podpořil novináře Českého rozhlasu. Nařídil otevřít spor o uchovávání údajů o komunikaci (data retention). Uvedl, že stát odpovídá za porušení práva EU, pokud neprovede řádnou transpozici příslušné směrnice do vnitrostátního práva.

    Ladislav Hagara | Komentářů: 0
    včera 05:33 | Zajímavý článek

    Minulý týden proběhl u CZ.NIC veřejný test aukcí domén. Včera bylo publikováno vyhodnocení a hlavní výstupy tohoto testu.

    Ladislav Hagara | Komentářů: 22
    včera 04:44 | Nová verze

    Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.

    Ladislav Hagara | Komentářů: 0
    16.4. 18:44 | Nová verze

    Byl vydán Mozilla Firefox 125.0.1, první verze z nové řady 125. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout lze podporu kodeku AV1 v Encrypted Media Extensions (EME). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 125.0.1 je již k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    16.4. 16:44 | Nová verze

    Valkey, tj. svobodný fork již nesvobodného Redisu, byl vydán v první stabilní verzi 7.2.5.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (65%)
     (11%)
     (2%)
     (21%)
    Celkem 505 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Inno Setup : OSS instalátor pro windows

    16.5.2019 21:21 | Přečteno: 2558× | windows

    Inno Setup lze řadit mezi nejlepší OSS instalátory pro Windows, které jsou k dispozici.

    Proč Instalátor

    Je to stejná otázka jako např. proč používat balíčkovací systémy v linuxu. Při distribuci sw je třeba zajistit nemálo věcí :


    Jak jsem se k němu dostal?

    Ve firmě se vývíjel a vyvíjí sw ve VisualFoxPro a pro komunikaci s db se využívá ODBC a Oracle Client. Problém byl, že při nástupu do práce nebyl k dispozici žádný instalátor, jen instalátor na VFP knihovny + se musely další knihovny k projektu kopírovat ručně, ručně registrovat atd.

    Kromě problémů distribuce runtime s podpůrnými knihovnami pro IS byl problém s distribucí Oracle Clienta. Plná verze je šíleně veliká, má java instalátor, který sice podporuje "response file", což je jakýsi soubor pro silent instalaci, ale odinstalace klienta byl vždy problém stejně jako konfigurace ODBC driverů a další věci s tím spojené. Instant verze klienta pro změnu nemá instalátor žádný a neřeší spoustu dalších věcí. To byl i důvod vytvořit si vlastní instalátor pro distribuci Oracle Instant Clienta.

    Postupně se začala potřeba instalátoru navyšovat. Bylo potřeba zajistit rychlou distribuci klíčů třetím stranám, bylo potřeba nějak rozumně šířit autokonfigurační skripty pro FF, bylo potřeba nějak zjednodušit konfiguraci IKEv2 ve Windows (hlavně eliminovat překliky / přešlapy v zadávání adres atd., udělat z toho jen spustit, next a ok).


    Proč Inno Setup?

    Instalátorů existuje spoustu, ale Inno Setup je OSS, viz github, je stále vyvíjen, má dobrou dokumentaci, širokou komunitu, podporu skriptování a pro neprogramátora je maximálně triviální stejně jako celý proces vytváření instalátoru.


    Jak to funguje a ukázka

    Ze stránek projektu si stáhneme innosetup-X.X.X.exe, což je jen jakýsi textový editor s pár fcemi na hlídání nějaké syntaxe a vytváření balíčku. Základem je tedy textový soubor pojmenovaný "*.iss", který otevřeme v tomto studiu, kde ho upravujeme a generujeme z něj balíčky. Instalátor funguje pod wine, takže jednoduché věci lze buildovat pod linuchem.

    Inno Setup example

    Takto vypadá můj první instalátor, který jsem udělal pro VFP a pár knihoven našeho IS. V ukázce je vidět následující :

    ;InnoSetupVersion=5.5.9
    ;Documentation :
    ;http://www.jrsoftware.org/ishelp/index.php
    
    #define AppName "0- Company a.s. IS "
    #define AppShortName "IS"
    #define AppPublisher "Company a.s."
    #define AppVersion "4.0.1"
    #define DefaultDirName "C:\company_is"
    
    [Setup]
    AppName={#AppName}
    AppVersion={#AppVersion}
    AppID={#AppName}
    VersionInfoDescription=IS Setup
    VersionInfoProductName=0- Company IS -0
    ;CreateAppDir=false
    DefaultDirName={#DefaultDirName}
    ;DefaultDirName={pf}\My Program ; to stejne jako : "C:\Program Files\My Program"
    DefaultGroupName={#AppPublisher}
    OutputBaseFilename=Company-IS-{#AppVersion}
    Compression=lzma2
    SolidCompression=yes
    ;PrivilegesRequired=none
    PrivilegesRequired=admin
    ;LicenseFile={#file AddBackslash(SourcePath) + "ISPPExample1License.txt"}
    ;UninstallDisplayIcon={app}\MyProg.exe
    WizardImageFile=IS_Library-logo2.bmp
    SetupIconFile=icons\install.ico
    UninstallIconFile=icons\uninstall.ico
    UninstallDisplayIcon={app}\icons\uninstall.ico
    ;DisableReadyMemo=yes
    ;DisableReadyPage=yes
    ;DisableWelcomePage=yes
    DisableDirPage=yes
    DisableProgramGroupPage=yes
    ;DisableFinishedPage=yes
    ;DisableStartupPrompt=yes
    ;EnableDirDoesntExistWarning=no
    
    ;Password=heslo
    ;Encryption=yes
    
    ;LanguageDetectionMethod=uilanguage
    ;ChangesEnvironment=yes
    
    
    [Code]
    function IsDotNetDetected(version: string; service: cardinal): boolean;
    // Indicates whether the specified version and service pack of the .NET Framework is installed.
    //
    // version -- Specify one of these strings for the required .NET Framework version:
    //    'v1.1'          .NET Framework 1.1
    //    'v2.0'          .NET Framework 2.0
    //    'v3.0'          .NET Framework 3.0
    //    'v3.5'          .NET Framework 3.5
    //    'v4\Client'     .NET Framework 4.0 Client Profile
    //    'v4\Full'       .NET Framework 4.0 Full Installation
    //    'v4.5'          .NET Framework 4.5
    //    'v4.5.1'        .NET Framework 4.5.1
    //    'v4.5.2'        .NET Framework 4.5.2
    //    'v4.6'          .NET Framework 4.6
    //    'v4.6.1'        .NET Framework 4.6.1
    //    'v4.6.2'        .NET Framework 4.6.2
    //    'v4.7'          .NET Framework 4.7
    //    'v4.7.1'        .NET Framework 4.7.1
    //    'v4.7.2'        .NET Framework 4.7.2
    //
    // service -- Specify any non-negative integer for the required service pack level:
    //    0               No service packs required
    //    1, 2, etc.      Service pack 1, 2, etc. required
    var
        key, versionKey: string;
        install, release, serviceCount, versionRelease: cardinal;
        success: boolean;
    begin
        versionKey := version;
        versionRelease := 0;
    
        // .NET 1.1 and 2.0 embed release number in version key
        if version = 'v1.1' then begin
            versionKey := 'v1.1.4322';
        end else if version = 'v2.0' then begin
            versionKey := 'v2.0.50727';
        end
    
        // .NET 4.5 and newer install as update to .NET 4.0 Full
        else if Pos('v4.', version) = 1 then begin
            versionKey := 'v4\Full';
            case version of
              'v4.5':   versionRelease := 378389;
              'v4.5.1': versionRelease := 378675; // 378758 on Windows 8 and older
              'v4.5.2': versionRelease := 379893;
              'v4.6':   versionRelease := 393295; // 393297 on Windows 8.1 and older
              'v4.6.1': versionRelease := 394254; // 394271 before Win10 November Update
              'v4.6.2': versionRelease := 394802; // 394806 before Win10 Anniversary Update
              'v4.7':   versionRelease := 460798; // 460805 before Win10 Creators Update
              'v4.7.1': versionRelease := 461308; // 461310 before Win10 Fall Creators Update
              'v4.7.2': versionRelease := 461808; // 461814 before Win10 April 2018 Update
            end;
        end;
    
        // installation key group for all .NET versions
        key := 'SOFTWARE\Microsoft\NET Framework Setup\NDP\' + versionKey;
    
        // .NET 3.0 uses value InstallSuccess in subkey Setup
        if Pos('v3.0', version) = 1 then begin
            success := RegQueryDWordValue(HKLM, key + '\Setup', 'InstallSuccess', install);
        end else begin
            success := RegQueryDWordValue(HKLM, key, 'Install', install);
        end;
    
        // .NET 4.0 and newer use value Servicing instead of SP
        if Pos('v4', version) = 1 then begin
            success := success and RegQueryDWordValue(HKLM, key, 'Servicing', serviceCount);
        end else begin
            success := success and RegQueryDWordValue(HKLM, key, 'SP', serviceCount);
        end;
    
        // .NET 4.5 and newer use additional value Release
        if versionRelease > 0 then begin
            success := success and RegQueryDWordValue(HKLM, key, 'Release', release);
            success := success and (release >= versionRelease);
        end;
    
        result := success and (install = 1) and (serviceCount >= service);
    end;
    
    
    function InitializeSetup(): Boolean;
    begin
        if not IsDotNetDetected('v4.5', 0) then begin
            MsgBox('MyApp requires Microsoft .NET Framework 4.5.'#13#13
                'Please use Windows Update to install this version,'#13
                'and then re-run the MyApp setup program.', mbInformation, MB_OK);
            result := false;
        end else
            result := true;
    end;
    
    
    // Check previos version to uninstall
    function GetUninstallString(): String;
    var
      sUnInstPath: String;
      sUnInstPathOLD: String;
      sUnInstallString: String;
    begin
      sUnInstPathOLD := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\0- IS VFP by Max -0_is1');
      sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
      sUnInstallString := '';
      if not RegQueryStringValue(HKLM, sUnInstPathOLD, 'UninstallString', sUnInstallString) then
        RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString);
      Result := sUnInstallString;
    end;
    
    
    function IsUpgrade(): Boolean;
    begin
      Result := (GetUninstallString() <> '');
    end;
    
    
    function UnInstallOldVersion(): Integer;
    var
      sUnInstallString: String;
      iResultCode: Integer;
    begin
    // Return Values:
    // 1 - uninstall string is empty
    // 2 - error executing the UnInstallString
    // 3 - successfully executed the UnInstallString
    
      // default return value
      Result := 0;
    
      // get the uninstall string of the old app
      sUnInstallString := GetUninstallString();
      if sUnInstallString <> '' then begin
        sUnInstallString := RemoveQuotes(sUnInstallString);
        if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
          Result := 3
        else
          Result := 2;
      end else
        Result := 1;
    end;
    
    procedure CurStepChanged(CurStep: TSetupStep);
    
    begin
    
    // Uninstall old version :
      if (CurStep=ssInstall) then
        begin
          if (IsUpgrade()) then
          begin
            UnInstallOldVersion();
          end;
        end;
    end;
    
    
    [Dirs]
    Name: "C:\AUXILIAR"; Permissions: users-full; Flags: UninsNeverUninstall;
    Name: "C:\AUXILIAR2"; Permissions: users-full; Flags: UninsNeverUninstall;
    Name: "{#DefaultDirName}"; Permissions: users-full; Flags: UninsNeverUninstall;
    
    [Files]
    Source: "VFP\vfp8r.dll"; DestDir: "{sys}"; Flags: ignoreversion sharedfile regserver
    Source: "VFP\vfp8t.dll"; DestDir: "{sys}"; Flags: ignoreversion sharedfile regserver
    Source: "VFP\vfp8rcsy.dll"; DestDir: "{sys}"; Flags: ignoreversion sharedfile
    Source: "VFP\VFP8RENU.DLL"; DestDir: "{sys}"; Flags: ignoreversion sharedfile
    Source: "VFP\msvcr70.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist sharedfile
    Source: "VFP\msvcr71.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist sharedfile
    Source: "VFP\msvcp71.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist sharedfile
    Source: "VFP\gdiplus.dll"; DestDir: "{sys}"; Flags: ignoreversion sharedfile
    
    ; IS ocx library - calendar etc.
    Source: "IS\comctl32.ocx"; DestDir: "{#DefaultDirName}"; Flags: ignoreversion restartreplace sharedfile regserver
    Source: "IS\mscomctl.ocx"; DestDir: "{#DefaultDirName}"; Flags: ignoreversion restartreplace sharedfile regserver
    Source: "IS\mscomct2.ocx"; DestDir: "{#DefaultDirName}"; Flags: ignoreversion restartreplace sharedfile regserver
    Source: "IS\mscomm32.ocx"; DestDir: "{#DefaultDirName}"; Flags: ignoreversion restartreplace sharedfile regserver
    
    ; DMS NET Framework Library :
    Source: "IS\DMS\ClassLibraryDMS.dll"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    Source: "IS\DMS\reg_dll_plus_test.exe"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    Source: "IS\DMS\dms_dll_test.exe"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    Source: "IS\DMS\RegAsm.exe"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    Source: "IS\DMS\test.txt"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    Source: "IS\DMS\test_adresy.txt"; DestDir: "{#DefaultDirName}\DMS"; Flags: ignoreversion sharedfile
    
    ; Outlook library to communicate between outlook and vfp
    Source: "IS\Redemption\Redemption.dll"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion restartreplace sharedfile regserver
    Source: "IS\Redemption\Interop.Redemption.dll"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion restartreplace sharedfile
    Source: "IS\Redemption\Install.exe"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion sharedfile
    Source: "IS\Redemption\Customize.exe"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion sharedfile
    ;Source: "IS\Redemption\readme.txt"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion sharedfile
    Source: "IS\Redemption\ProfMan.dll"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion sharedfile
    Source: "IS\Redemption\Interop.ProfMan.dll"; DestDir: "{#DefaultDirName}\Redemption"; Flags: ignoreversion sharedfile
    
    ; Barcode fonts
    Source: "IS\Fonts\code_128.ttf"; DestDir: "{fonts}"; FontInstall: "Code-128"; Flags: onlyifdoesntexist
    Source: "IS\Fonts\PF_C39.ttf"; DestDir: "{fonts}"; FontInstall: "PF Barcode 39"; Flags: onlyifdoesntexist
    Source: "IS\Fonts\PF_C128.ttf"; DestDir: "{fonts}"; FontInstall: "PF Barcode 128"; Flags: onlyifdoesntexist
    
    Source: "icons\BadDog.ico"; DestDir: "{#DefaultDirName}\Icons\"; Flags: ignoreversion restartreplace sharedfile
    Source: "icons\install.ico"; DestDir: "{#DefaultDirName}\Icons\"; Flags: ignoreversion restartreplace sharedfile
    Source: "icons\uninstall.ico"; DestDir: "{#DefaultDirName}\Icons\"; Flags: ignoreversion restartreplace sharedfile
    
    
    [Messages]
    WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications and disable any anti virus before continuing.%n%n- IS VFP Library%n- IS ocx library%n- Redemption DLL%n- DMS Net.Framework DLL%n- Fonts%n- IS Icon
    
    
    [Icons]
    Name: "{group}\{#AppShortName}\Uninstall"; Filename: "{uninstallexe}"
    Name: "{group}\{#AppShortName}\BadDog"; Filename: "{#DefaultDirName}\Icons\BadDog.ico"
    
    
    [Registry]
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER"; Flags: uninsdeletekey
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER"; ValueType: string; ValueName: "ODBC_DRIVER"; ValueData: "office1"
    
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER_OFFICE1"; Flags: uninsdeletekey
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER_OFFICE1"; ValueType: string; ValueName: "ODBC_DRIVER"; ValueData: "office2"
    
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER_OFFICE2"; Flags: uninsdeletekey
    Root: HKLM; Subkey: "Software\companyIS\ODBC_DRIVER_OFFICE2"; ValueType: string; ValueName: "ODBC_DRIVER"; ValueData: "office3"
    
    
    
    [Run]
    Filename: "{dotnet40}\RegAsm.exe"; Parameters: /codebase {#DefaultDirName}\DMS\ClassLibraryDMS.dll; WorkingDir: {app}; StatusMsg: "Registering Controls..."; Flags: runminimized
    
    
    ;[Languages]
    ;Name: en; MessagesFile: "compiler:Default.isl"
    ;Name: nl; MessagesFile: "compiler:Languages\Dutch.isl"
    ;Name: de; MessagesFile: "compiler:Languages\German.isl"
    
    ;[Messages]
    ;en.BeveledLabel=English
    ;nl.BeveledLabel=Nederlands
    ;de.BeveledLabel=Deutsch
    
    ;[CustomMessages]
    ;en.MyDescription=My description
    ;en.MyAppName=My Program
    ;en.MyAppVerName=My Program %1
    ;nl.MyDescription=Mijn omschrijving
    ;nl.MyAppName=Mijn programma
    ;nl.MyAppVerName=Mijn programma %1
    ;de.MyDescription=Meine Beschreibung
    ;de.MyAppName=Meine Anwendung
    ;de.MyAppVerName=Meine Anwendung %1
    
    
    [UninstallDelete]
    Type: files; Name: "{sys}\vfp8r.dll"
    Type: files; Name: "{sys}\vfp8t.dll"
    Type: files; Name: "{sys}\vfp8rcsy.dll"
    Type: files; Name: "{sys}\VFP8RENU.DLL"
    ;Type: files; Name: "{sys}\msvcr70.dll"
    ;Type: files; Name: "{sys}\gdiplus.dll"
    
    Type: files; Name: "{#DefaultDirName}\comctl32.ocx"
    Type: files; Name: "{#DefaultDirName}\mscomctl.ocx"
    Type: files; Name: "{#DefaultDirName}\mscomct2.ocx"
    Type: files; Name: "{#DefaultDirName}\mscomm32.ocx"
    
    Type: files; Name: "{#DefaultDirName}\Icons\BadDog.ico"
    Type: files; Name: "{#DefaultDirName}\Icons\install.ico"
    Type: files; Name: "{#DefaultDirName}\Icons\uninstall.ico"
    

    Výše uvedné skripty jsem nepsal, vše již někdo napsal předemnou a tak stačilo vzít example a maximálně změnit verzi kontrolovaného sw atd.

    Inno Setup example Inno Setup example

    Výsledkem buildovacího procesu je exe soubor podporující silent instalaci a další parametry, které inno setup podporuje.

    Inno Setup example

    Pokud je na někoho příklad moc složitý, zde je jednodušší varianta pro distribuci konfiguračního souboru pro Firefox :

    ;InnoSetupVersion=5.5.9
    ;Documentation :
    ;http://www.jrsoftware.org/ishelp/index.php
    
    #define AppName "0- Company a.s. FF Policy "
    #define AppShortName "CompanyFFPolicy"
    #define AppPublisher "Company a.s."
    #define AppVersion "1.0.5"
    #define DefaultDirName "C:\company_ff"
    #define FFDirName "{code:GetDirName}"
    
    [Setup]
    AppName={#AppName}
    AppVersion={#AppVersion}
    AppID={#AppName}
    VersionInfoDescription=Company FF Policy Setup
    VersionInfoProductName=0- Company FF Policy -0
    DefaultGroupName={#AppPublisher}
    DefaultDirName={#DefaultDirName}
    OutputBaseFilename=Company-FF-Policy-{#AppVersion}
    Compression=lzma2
    SolidCompression=yes
    PrivilegesRequired=admin
    ; MinVersion 8.3 = Win 8.1, 6.1 = Win7, 6.0 = Vista
    MinVersion=6.0
    SetupIconFile=icons\install.ico
    UninstallIconFile=icons\uninstall.ico
    UninstallDisplayIcon={app}\icons\uninstall.ico
    DisableDirPage=yes
    DisableProgramGroupPage=yes
    
    ;Password=heslo
    ;Encryption=yes
    
    
    [Code]
    // Check previos version to uninstall
    function GetUninstallString(): String;
    var
      sUnInstPath: String;
      sUnInstallString: String;
    begin
      sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#emit SetupSetting("AppId")}_is1');
      sUnInstallString := '';
      if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
        RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString);
      Result := sUnInstallString;
    end;
    
    
    function IsUpgrade(): Boolean;
    begin
      Result := (GetUninstallString() <> '');
    end;
    
    
    function UnInstallOldVersion(): Integer;
    var
      sUnInstallString: String;
      iResultCode: Integer;
    begin
    // Return Values:
    // 1 - uninstall string is empty
    // 2 - error executing the UnInstallString
    // 3 - successfully executed the UnInstallString
    
      // default return value
      Result := 0;
    
      // get the uninstall string of the old app
      sUnInstallString := GetUninstallString();
      if sUnInstallString <> '' then begin
        sUnInstallString := RemoveQuotes(sUnInstallString);
        if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then
          Result := 3
        else
          Result := 2;
      end else
        Result := 1;
    end;
    
    procedure CurStepChanged(CurStep: TSetupStep);
    
    begin
    
    // Uninstall old version :
      if (CurStep=ssInstall) then
        begin
          if (IsUpgrade()) then
          begin
            UnInstallOldVersion();
          end;
        end;
    end;
    
    
    
    
    // check if ff dir name exist and load this to variable
    var
      DirName: string;
    
    function TryPath(Path: string): Boolean;
    begin
      Result := DirExists(Path);
      if Result then
      begin
        Log(Format('Path %s exists', [Path]))
        DirName := Path;
      end
        else
      begin
        Result := False;
        exit;
      end;
    end;
    
    function GetDirName(Param: string): string;
    begin
      Result := DirName;
    end;
    
    function InitializeSetup(): Boolean;
    begin
      Result :=
        TryPath('C:\Program Files (x86)\Mozilla Firefox') or
        TryPath('C:\Program Files\Mozilla Firefox');
    
      if Result then
      begin
        Log(Format('Destination %s selected', [DirName]))
      end
        else
      begin
        Result := False;
        exit;
        //Log(Format('Destination %s selected', [mbError]))
        //MsgBox('No destination found, aborting installation', mbError, MB_OK);
      end;
    end;
    
    
    
    
    [Dirs]
    Name: "{#DefaultDirName}"; Permissions: users-readexec; Flags: UninsNeverUninstall;
    
    
    [Files]
    Source: "icons\install.ico"; DestDir: "{#DefaultDirName}\Icons\"; Flags: ignoreversion restartreplace
    Source: "icons\uninstall.ico"; DestDir: "{#DefaultDirName}\Icons\"; Flags: ignoreversion restartreplace
    
    Source: "certs\CompanyRootCA.cer"; DestDir: "{#FFDirName}\defaults\pref\"; Flags: ignoreversion restartreplace
    Source: "certs\CompanyRootCA-G2.crt"; DestDir: "{#FFDirName}\defaults\pref\"; Flags: ignoreversion restartreplace
    
    Source: "ffconfig\autoconfig.js"; DestDir: "{#FFDirName}\defaults\pref\"; Flags: ignoreversion restartreplace
    Source: "ffconfig\firefox.cfg"; DestDir: "{#FFDirName}"; Flags: ignoreversion restartreplace
    
    [Messages]
    WelcomeLabel2=This will install [name/ver] on your computer.
    
    [Icons]
    Name: "{group}\{#AppShortName}\Uninstall"; Filename: "{uninstallexe}"
    
    
    [UninstallDelete]
    Type: files; Name: "{#DefaultDirName}\Icons\install.ico"
    Type: files; Name: "{#DefaultDirName}\Icons\uninstall.ico"
    

    Závěr

    Netvrdím, že Inno Setup umí všechno a všechno v něm jde a jde to lehce. Existují komerční instalátory, které mají určitě spoustu fcí a spoustu věcí integrovaných. Každopádně Inno Setup je jednoduchý a pro spoustu věcí plně dostatečný.
    A co vy, řešili jste něco podobného pro win? A co jste případně použili?


    Zdar Max

    PS: Jako další komerční i nekomerční nástroje lze zmínit :
           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    AsciiWolf avatar 16.5.2019 23:32 AsciiWolf | skóre: 40 | blog: Blog
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Proč nepoužít klasické MSI?
    Max avatar 16.5.2019 23:57 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    A jak? Znám jen nástroje třetích stran, co msi generují. Ani na první dobrou nejsem schopen zjistit, kde začít. U Inno Setupu jsem otevřel web, stáhl soubor, koukl do dokumentace a to dopoledne jsem měl vyladěný instalátor. A navíc to je OSS.
    Zdar Max
    Měl jsem sen ... :(
    16.5.2019 23:37 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows

    Pro GPXSee používám NSIS. Má sice "trochu" kryptickou syntaxi (dokonce i oproti tomu Pascalu z Inno Setupu ;-)), ale prakticky všechno na co člověk může narazit už v NSISu někdo řešil a má opravdu minimální overhead. Což ale někoho, kdo balí takovou korporátní mrdku s "Dotnetem", "Oraclem" a "Já nevím čím vším ještě", asi úplně netankuje...

    Každý má právo na můj názor!
    Max avatar 17.5.2019 00:10 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Ta syntaxe nevypadá zle.
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 00:43 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows

    No nevim, mě teda "assemblerovský" konstrukty typu:

    StrCmp $R0 "1" 0 +3

    přijdou ve skriptovacim jazyku trochu moc...

    Každý má právo na můj názor!
    17.5.2019 03:40 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Já jsem měl v NSIS pocit, že se vracím na úroveň strojáku sálových počítačů. Čekal jsem jen, kdy na mě vybafne hexadecimální výpis na řádkové tiskárně. Takhle tedy ne. Několikrát jsem ho zkoušel, ale tohle se jim nepovedlo.

    Mám dojem, že NSIS se rozšířilo hlavně proto, že bylo první. A že jako první nabídlo nějaký rozumný instalační systém, a to free. A tím výhody asi končí. NSIS je z doby velké slávy Nullsoftu, kdy udělali dva slavné programy: NSIS a WinAmp. Obé už dnes umírá.

    Já bych tedy v NSIS dělat instaláky nechtěl, jako že jsem to kdysi dělal. V zásadě je to o tom, že NSIS je zastaralý. Proto prakticky povinně musíte "includovat moderní skript" a "moderní UI" přímo do skriptovacího jazyka. Vůbec v instalačním skriptu NSIS řešíte nedomyšlenosti, pitomosti a nalepováky, které autoři v roce 2001 nedomysleli.

    ***

    Na Inno Setup jsem nikdy nepotřeboval žádnou pomoc. Bohatě mi stačila dokumentace, která je k Inno Setupu přidávána. Je to tak prachsprostě jednoduché, až to bolí. Nic nemusíte řešit, napíšete jednoduchý konfigurák, necháte to zkompilovat a jede to.

    Instalace je rutinní procedura, ke které v nejjenodušším případě stačí seznam adresářů nebo souborů a cílový adresář. Toto Inno Setup zvládne 2 řádky v konfiguráku.

    O pár řádek více je nastavení oken, co si má uživatel vybrat. Nebo v jaké verzi Windows to má fungovat. Nebo ty další očekávatelné věci při instalaci - je blbost u toho vyžadovat nějaké skriptování.

    A teprve když chcete něco hodně neobvyklého, tak musíte skriptovat.

    Takto přesně jednoduše si představuje tvořit instalačních programů.
    Ruža Becelin avatar 16.5.2019 23:40 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Diky za zajimavy blog.

    Porovnaval jsi InnoSetup s WiX a NSIS? InnoSetup byval jenom komercni, tak spousta projektu zacala pouzivat NSIS a WiX.

    Celkem zajimave porovnani tehle nastroju by bylo z pohledu:
    • automatizace instalaci baliku, vc. silent install (s pomoci SCCM, Ansible, ...)
    • automatizace skriptovani po buildeni (napr. Jenkins task)
    • integrace do IDE (napr. Visual Studio, ...)
    • custom actions (podpora, jazyky, atd.)
    Max avatar 16.5.2019 23:46 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Neporovnával. Je to hafec let, co jsem hledal vhodný instalátor a Inno byl první nástřel a hned se mi zalíbil, nebyl důvod koukat po něčem dalším.
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 04:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše WiX
    Pro nás, co nenávidíme do morku kostí XML, je WiX zcela nepoužitelné.

    Jinak WiX je projekt Microsoftu. Takže je skoro jedno - co se šíře možností týká - jestli vytváříte MSI instalační balíček skrze WiX nebo nějaký jiný program na vytváření MSI.

    ***

    Zuatomatizovat jde naprosto každý vytvářeč instaláků, pokud je řízen textovým souborem.

    Integraci do IDE je věcí, které IDE používáte. Pro vytvíření instaláků ve Visual Studiu nikdy nepotřebujete nic integrovat, protože Visual Studio umí instaláků tvořit už z toho, co je v základu.

    Ruža Becelin avatar 17.5.2019 08:25 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: WiX
    Na XML mam serializacni tridu, takze samotne XML me netrapi, ale argument chapu.
    Ze to napsal MS me nevadi vzhledem k faktu, ze je to OSS.
    Vytvareni MSI byla preferovana cesta vzhledem k distribuci.

    Visual Studio umelo jen VDPROJ, dneska i WiX, proto jsem se ptal, jak jsou na tom ostatni nastroje, protoze treba Custom Actions ve VDPROJ nic moc.

    Diky za porovnani nize v diskuzi.
    17.5.2019 21:01 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: WiX
    Já to schválně napsal tak. Pokud někomu nevadí XML, tak nic proti WiXu. Stejně tak je z toho, že je to Microsoft jasné, že jako výsledek bude plivat MS standardy, tedy MSI.

    Myslím si, že dnes v podstatě s každým rozšířeným tvořičem instaláků uděláte vše co je potřeba. Už dávno není situace kolem roku 2000, kdy byla situace příšerná, a i placené tvořiče byly na zvracení. Například velice doufám, že autoři InstallShieldu se smaží někde v pekle.

    Dnes je situace jako pohádka. Rozumných tvořičů instalací je dost, můžete si vybírat.
    16.5.2019 23:46 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Ve firmě se vývíjel a vyvíjí sw ve VisualFoxPro a pro komunikaci s db se využívá ODBC a Oracle Client.
    A vsiml si uz nekdo, ze to je uz pres deset let mrtva platforma?
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    Max avatar 17.5.2019 00:06 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Samozřejmě, ale nikoho to netrápí, protože to stále všude funguje bez problémů. My dokonce ani nejedeme VFP9, ale VFP8.
    A stále se pro to vyvíjejí nástroje, viz třeba Eqeus a XFRX knihovny.
    Stejně tak existují firmy, co na VFP stále prodávají a vyvíjejí systémy, viz třeba Datacentrum MZDY.
    Navíc vývoj je v tom stále rychlý. Oproti kolegům, co dělají ve VFP jsou všichni ostatní šneci (lidi s C# i php).
    Samozřejmě to nejde porovnávat, ale management zajímá, proč jedni mají podobnou věc za den a jiný za týden.
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 11:43 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    My dokonce ani nejedeme VFP9, ale VFP8.
    Ja jsem skoncil u verze 7 a uz tehdy bylo jasne, ze to je slepa vetev vyvoje, protoze takto pojaty jazyk kombinujici xbase jazyk (protoze historie), objektove programovani (protoze moda) a SQL (protoze nutnost) je neco hodne spatneho i na tehdejsi pomery. Ze to odepsal i Microsoft bylo zjevne, uz nekdy kolem te verze 7, kdy Microsoft rozhodl, ze VFP nebude v .NETu a Visual Studiu.

    Velkou vyhodou a i nevyhodou (V)FP je, ze zpracovani dat a jejich prezentace jdou ruku v ruce. Coz umoznuje opravdu docela rychly vyvoj, ale je to na ukor udrzovatelnosti kodu. To je vec, kterou jsem v minulosti delal a opravdu bych se k tomu nerad vracel, proto me desi, ze to dneska jeste nekdo pouziva. Proste spaghetti code byl ve VFP de facto norma, protoze to ani lip neslo.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    17.5.2019 12:38 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows

    Stále ten stejný příběh. To je prostě odvislé od projektu, jestli dává smysl zůstat u té technologie i když je hypoteticky horší. Pokuď se to nezaplatí, nedává žádný smysl investovat do přepsání do něčeho "moderního". Ta firma očividně (už jenom podle těch technologií) není žádný hipsterský startup, kde se peníze investorů dají topit v "ideologicky správném TM" vývoji...

    Každý má právo na můj názor!
    17.5.2019 14:50 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    nedává žádný smysl investovat do přepsání do něčeho "moderního".
    VFP jako jazyk neodpovidal beznym standardum uz kolem toho roku 2000. AFAIK je to asi jediny jazyk, ktery se aktivne pouziva, kde je dynamicky rozsah platnosti jako vychozi. Vynikajici zdroj chyb, ktere se naramne hezky hledaji.
    kde se peníze investorů dají topit v "ideologicky správném TM" vývoji...
    A porad, jako v te predchozi diskuzi, zapominas na druhou cast rovnice, a to jsou naklady udrzbu.

    Tvoje argumentace mne pripomnela prave jednu desivou historku z dob, kdy jsme delal bug fixy a drobne upravy na jednom mega projektu ve VFP.

    Ve vsech modulech se pravidelne vyskytovaly copy-paste sekvence identickeho kodu, napr. urcity typ dialogu. Jednou jsem dostal za ukol asi v 50 takovych dialozich neco upravit. Tak jsem to vzal a vypreparoval do dvou nebo tri samostatnych procedur a upravil to v nich, na jednom miste. Za coz jsem dostal od sefove pojeb, ze neco takoveho je zbytecne a mel jsem ten copy/paste kod tam nechat a jen to 50x upravit, ze to je zbytecne prace, ktera se nikdy nevrati. A za pul roku jsem dostal pojeb podruhe, ze jmeno a chovani jedne z tech procedur je stejne, jak neco, co ma VFP mit v dalsi verzi, a bude to asi problem, a ze to je dukaz toho, ze tam ten copy/paste kod mel zustat. Kratce na to jsem tam skoncil, protoze na to jsem opravdu nemel nervy.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    17.5.2019 18:20 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows

    Na náklady na údržbu samozřejmě nezapomínám, to se může zdát jenom někomu, kdo z věty:

    Pokuď se to nezaplatí, nedává žádný smysl investovat do přepsání do něčeho "moderního".

    vytrhne z kontextu jenom to:

    nedává žádný smysl investovat do přepsání do něčeho "moderního"

    A stejně tak jako věřím, že ví co a proč dělají vývojáři těch tisíců projektů, které nemají unit testy (a bez kterých by tu nikdo z nás na linuxu nemohl existovat už jenom proto, že je mezi nimi i samotné jádro), tak věřím, že ví co dělá ta firma a že si dobře spočítala, jestli se jí to vyplatí nebo ne. Protože lidi z tý firmy mají určitě lepší data pro rozhodování, než zkušenost "jednou jsem dostal pojeb za refaktoring VFP a nikdy více"...

    Každý má právo na můj názor!
    17.5.2019 19:09 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    vytrhne z kontextu jenom to:

    nedává žádný smysl investovat do přepsání do něčeho "moderního"
    Ja jsem si tam doplnil ten kontext odkazovane diskuze, ...
    tak věřím, že ví co dělá ta firma a že si dobře spočítala, jestli se jí to vyplatí nebo ne.
    V rade firem se to opravdu nepocita. Rada firem, obzvlast tech malych (ale najdou se i ty velke), jede v rezimu, valime pred sebou tu kopu sracek, kterou pred deseti dvaceti lety nekdo vytvoril, vime, ze to je spatne, ale za ty roky se toho nabalilo tolik, ze se toho kazdy boji byt jen z dalky dotknout, aby se neco nerozbilo. Proto se nedivim, ze i v roce 2019 potkavam aplikace, ktere vyzaduji Flash, Silverlight a nedavno jsem na nejakem uradu (resp. jeho aplikaci) potkal pozadavek na Internet Explorer 8!
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    17.5.2019 19:25 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    A stejně tak jako věřím, že ví co a proč dělají vývojáři těch tisíců projektů, které nemají unit testy (a bez kterých by tu nikdo z nás na linuxu nemohl existovat už jenom proto, že je mezi nimi i samotné jádro), tak věřím, že ví co dělá ta firma a že si dobře spočítala, jestli se jí to vyplatí nebo ne. Protože lidi z tý firmy mají určitě lepší data pro rozhodování, než zkušenost "jednou jsem dostal pojeb za refaktoring VFP a nikdy více"...
    To je rozumný názor, nicméně IMO přecenuješ racionalitu mnohých firem. Vím minimálě o několika firmách, které udržují legacy technologie zuby nehty až za hrob a spálí na tom násobně více prostředků, než co by stál přechod na non-obsolete technologii, protože prostě proto (většinou setrvačnost).
    xxx avatar 17.5.2019 20:51 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Zas nesmis precenovat racionalitu techniku. Ti by zase prepisovali vsechno a furt. :-) Ono se na to na abckomunismu.cz zapomina, ale SW musi vydelavat. Takze kdyz se rozhodnes pro prepis, tak krom toho, ze treba rok, nebo klidne i nekolik let dal potlacis ten sileny zastaraly blob dal, tak vedle toho ti vznikne dlasi naklad, s nejistym vysledkem.

    On se sice deda.jabko tvari, ze prepis velkeho systemu je prochazka ruzovou zahradou, ale imho je to spis prochazka zumpou, kde jen malou odmenou je to, ze vedle muzes stavet neco noveho.

    No a na zaver pak taky obcas zjistis, ze abys to dotahnul do 100% konce, tak uz vlastne po letech nevyvyjis pekny novy system, ale zastarale monstrum.

    Tudiz, se ani nedivim, ze je tendence ten interval prepisu natahovat co to jde, protoze je to stejn nekonecny kolobeh.
    Please rise for the Futurama theme song.
    17.5.2019 21:08 Miloslav Ponkrác
    Rozbalit Rozbalit vše Přepisy software a obsolentní technologie
    Přesně tak. Programátoři by všehcno přepisovali do moderních věcí, ale málokdy se to vyplatí. Přepis není sranda, zvláště u větších systémů. Nehledě na to, že po přepisu máte nedoladěnou a nevyzkoušenou verzi software, od které můžete čekat cokoli.

    Ve své podstatě taková silně obsolentní technologie je unix. Je postavena na principech 50 let starých, a už to dře. Spousta nových věcí jsou už v unixu spíše nalepováky jako Unicode, multithreading, a další. A to nemluvím o POSIXu, kde už je to nalepovák na nalepovák - a měli by ho už vyměnit za něco modernějšího.

    ***

    Důvodem, proč Microsoft stopl podporu VisualFoxPro je daleko jednodušší. Je to stejný důvod, jako przní Microsoft Access v Microsoft Officech. Prostě chtějí donutit lidi přejít na Microsoft SQL databázi, třeba násilím.

    Úplně stejně se snaží Microsoft lidi donutit k přechodu na Windows 10. Tím, že třeba DirectX 12 nefunguje ve starších verzích. Tím, že pros tarší verze se uměle vyrábějí omezení.

    Ve VFP se dala velice hbitě udělat databázová aplikace. Stejně tak třeba ve starém Visual Basicu. V novějších produktech už to dře. Proto se to používá, byť je to zastaralé.

    Max avatar 17.5.2019 21:25 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Přepisy software a obsolentní technologie
    VFP není jen dbf, má podporu databáze přes ODBC (používáme proti Oracle). Navíc něco trochu většího na dbf bylo šíleně pomalé, dbf mělo problémy se zamykáním a poškozováním databázového souboru atd. To samo osobě nutilo lidi přejít na něco lepšího. Takže argument v tom, že se snažili donutit lidi na přechod na MSSQL je podle mně nesmyslná.
    Jinak s DirectX12 nakonec MS cuknul a zřejmě ho vydal i pro Win7.
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 21:49 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Přepisy software a obsolentní technologie
    Já bych řekl, že někdy před 15 lety se Microsoft drsně rozhodl všechno staré zničit a překopat do nova. Zhruba to odpovídá tomu, když se rozkoukal v MS Steve Ballmer.

    Tehdy neuvěřitelně upadlo programátorské jádro Microsoftu. Steve Ballmer zavedl pravidlo, že všichni vývojáři budou bodováni. A jednou za čas, tuším každý kvartál, bude nehorší člen každého týmu vykopnut a dostane padáka z Microsoftu.

    Stevu Ballmerovi se celý vývoj uvnitř MS podařilo tak zdecimovat, že nebyli sto vydat celé roky ani rozumnou verzi Windows, a skončilo to průserovými Vistami - po mnoha letech pauzy.

    Stejně tak už MS nebyl schopen vyvíjet celé portfolio sw produktů, a musel řezat. Vykašlali se na spousty produktů, a některé z nich jen zprznili.

    Přechod na 64bitové prostředí byl také plný zajímavých pikantérií. Např. Visual Studio pro 64 bitový vývoj spousty věcí ještě roky neumělo. Problém byly i takové maličkosti jako inline assembler, a řadu dalšího.

    Jednoduše se Microsoftu podařilo s vývojářským oddělením udělat to, že tam postupně převažovali lidé, kteří se umějí prezentovat směrem výše pomocí dokonalých a impresivních PowerPointů a sociálních dovedností. (Asi to, co chce Krčmář udělat z rootu.) Je jasné, že produktivita vývojářů uvnitř Microsoftu klesla za zlomeček - a museli proto vybrat produkty, které budou ignorovat.

    Oni mimochodem neukončili VFP. Oni ho prostě odstavili jako méně důležitý projekt. Důvodem je stav vývojářského oddělení. Ostatně na Windows 10 a jeho kvalitě a kvalitě aktualizací to vidíte rovněž.

    Steve Ballmer pomohl stavu, který d-fens nazývá velice trefně zazmrdováním firmy. A ten Augiášův chlív už hned tak někdo dohromady nedá.

    Je to ale trend dnešní doby. Stejně tak linux kerneloví vývojáři řeší, že by se měly dodržovat různé gender science vymoženosti. Sociologičtí studenti už řeší různé "microaggressions". Pokud jsem zaznamenal, dokonce Linus Torvalds si před časem vzal pauzu, aby to rozdýchal. Jinak řečeno, i Linux čeká zazmrdování - nikdo proti tomu neprotestuje.
    xxx avatar 17.5.2019 22:03 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Přepisy software a obsolentní technologie
    Úplně stejně se snaží Microsoft lidi donutit k přechodu na Windows 10. Tím, že třeba DirectX 12 nefunguje ve starších verzích. Tím, že pros tarší verze se uměle vyrábějí omezení.
    To je pohled z jedne z strany. Z te druhe strany je to proste tak, ze DX12 pro W7 znamena dvakrat vic prace s testovanim, s resenim problemu, atd.

    V tomhle uz jsem poucen, ve smyslu nepovolovat uzivatelum vic, nez je nutne, jen proto, ze to proste jde. Ano z druhe strany je to samozrejme "zbytecne omezovani". Ale realita je takova, ze nejde delat zarizeni s milonem features a zakaznikum vysvetlovat, ze support delame jen pro polovinu z nich.
    Please rise for the Futurama theme song.
    17.5.2019 22:08 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Ono se na to na abckomunismu.cz zapomina, ale SW musi vydelavat. Takze kdyz se rozhodnes pro prepis, tak krom toho, ze treba rok, nebo klidne i nekolik let dal potlacis ten sileny zastaraly blob dal, tak vedle toho ti vznikne dlasi naklad, s nejistym vysledkem.
    Nejsem ten typ člověka, co by hurá hned přepsal všechno, a vim, že udržování legacy codebase má často smysl. Ale zároveň taky vim o příkladech, kdy i kdyby ten přepis selhal, furt by ta situace byla v konečném výsledku lepší, než udržovat nějakou šílenost. Když použitelný SW vydělává peníze, tak je to samozřejmě dobře (zejména pro prodejce toho SW :-D), ale když to překročí rozumnou míru, tak pak nějaká firma neustále křísí totální mrtvolu jen proto, aby z ní vymlátila další prachy... Což není dobře, to už pak je lepší buď to přepsat, anebo když to nedokážu, nechat někoho jinýho, ať přijde s náhradou.

    TL;DR přepisovat furt všechno je samozřejmě špatně, ale stejnětak existuje i hranice, kdy udržování starého řešení fakt nemá smysl.
    17.5.2019 22:52 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Plny souhlas. Ma pripominka byla k tomu, ze VFP uz nekdy kolem toho roku 2000+ byla spatna technologie a ted uz je to opravdu dlouho mrtva technologie. Stavet system na necem takovem mi prijde nerozum. Obzvlast desive je to proto, ze neexistuje zadna alternativni implementace.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    18.5.2019 14:26 johnyK | skóre: 2 | blog: uxblog
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    ja mam trochu zkusenosti v bankovnim sektoru a tam jsem se setkal jseste s jednim fenomenem - strach 'byt za to odpovedny'. Banky by mohly vydat haldu penez, jen se musi najit nekdo, kdo verohodne odprisahne, ze to pak bude fungovat. Tech firem, ktere jsou ochotny prevzit tu odpovednost je strasne malo - ja se predstavenstvu nejake banky ani nedivim, ze maji strach :-) neco menit.
    Max avatar 17.5.2019 13:05 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    To by bylo ještě zkousnutelné, je to jen o rentabilitě, zda se to vyplatí přepsat atd. Největší problém ale spatřuji v tom, že VFP má binární soubory, které nejde rozumně verzovat, protože jen samotné otevření VFP souboru ve vývojovém prostředí a následné ukončení bez uložení a změny vždy vyvolá změnu v souboru. Takže se mění všechny soubory nezávisle na tom, zda v nich byla provedená změna, nebo ne.
    Existují sice obezličky a pluginy, jak to naroubovat na svn, ale to už je nad chápání programátorů a stačí jim, že to aspoň nějak verzují i v takovémto stadiu.
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 03:54 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    To ve Windows nejspíše nikoho netrápí.

    Windows má výhodu stabilního API. Pokud je program slušně napsaný, bez používání prasečin, tak funguje i po 20 letech, co přestal být podporován.

    Dodnes jsou přímo součástí instalace Microsoft Windows 10 i programy, které byly napsány ve Visual Basicu (poslední verze z roku 1998). A žádný problém.

    To je výhoda jasně určeného, dostatečně rozsáhlého, a stabilního API operačního systému. To je přesně ten důvod, proč firmy i programátoři mnohem raději programují a udržují Windows programy, a nechce se jim moc do Linuxu.
    17.5.2019 20:52 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Pokud je program slušně napsaný
    Njn tady je jádro pudla ;-) Když to bereme z pohledu windows vs linux, tak jsem se teda s kvalitníma programama setkal víc na linuxu.
    17.5.2019 21:20 Miloslav Ponkrác
    Rozbalit Rozbalit vše Kvalita programů Linux x Windows
    Já nikoli. Na Windows jsem se setkal veskrze s vyšší kvalitou software.

    A nejhorší kvalitu má většina open source programů. Protože pro jejich propagaci stačí, že jsou "open source", a dál už se autoři nemusejí snažit.

    Například jeden z důvodů, proč i unixové programy ladím v Microsoft Visual Studiu je ten, že nic podobného na unixech není. A drtivá většina kódu je dnes portabilní, tak je to jedno. Třeba hlášky při chybách ve složitých C++ šablonách v gcc jsou na zblytí, a nedá se místo chyby rozumně najít. STL knihovna je u Microsoftu rozumně prodchnutá asserty, takže při případné chybě dostane message box, nikoli záhadnou chybu. Apod.

    Opakovaně v průběhu roků dávám výzvu, že budeme soutěžit v efektivitě práce s vektorovým editorem Inkscape. To je totiž asi s předstihem nejdebilnější ovládání programu, jaké jsem kdy zažil. Stále opakuji výzvu, že dáme středně složitý úkol ve vektorové grafice - já budu dělat v CorelDraw a někdo jiný v Inkscape. Zvítězím jen tehdy, pokud to bude mít alespoň třikrát rychleji než kolega s Inkscape. Dosud nikdo neměl odvahu do toho jít.

    Já už jsem unaven drsnou nekvalitou programů, které jdou od open source, a hlavně jejich nedodělaností. A zejména toho, co jde z Linuxu.

    Líbí se mi programy jako Inno Setup, které prostě fungují.

    a) Nemusím předtím číst 100 MB manuál, abych to vůbec rozchodil, jak je dobrým zvykem u open source alinuxových programů.

    b) Inno Setup mě neotravuje ničím, co nepotřebuji řešit - také velice vzácné u open source a Linuxových programů.

    c) Má dobrou dokumentaci - což není u open source ani Linuxu vůbec zvykem.

    Můžu posloužit mnoha historkami. Třeba když jsem chtěl napsal linker script pro gcc, abych vytvořil binárku, kterou bych mohl flešnout do ARMu. Dokumentace na houby, musel jsem projít zdroják gcc linkeru, abych skutečně zjistil vůbec co to umí a co ne. A neřekl bych, že GCC je okrajový projekt.

    Já rozhodně musím neosuhlasit s tím, že kolem Linuxu je větší kvalitu než u Windows.
    17.5.2019 22:59 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Třeba hlášky při chybách ve složitých C++ šablonách v gcc jsou na zblytí, a nedá se místo chyby rozumně najít. STL knihovna je u Microsoftu rozumně prodchnutá asserty, takže při případné chybě dostane message box, nikoli záhadnou chybu. Apod.
    Tohle zní, jako když jsi s gcc pracoval naposledy někdy před 10 nebo 20 lety.

    MSVC je s prominutím naprostá sračka. Standardní knihovna je sice "prodchnutá asserty", nicméně důsledek toho je, že nelze linkovat debug a release verze programu / knihoven, všechno musí být jak u blbečků na dvorečku zbuildováno dvakrát (případně vícekrát), přičemž třeba jména knihoven nemají žádný standardizovaný tvar pro odlišení build varianty, static / shared atd. Standardní knihovna MSVC je outsourcovaná od Dinkumware, podpora C++ standardů rozumně až v poslední verzi, ale i tak člověk narazí občas na corner casy, kde chybí třeba nějaká méně obvyklá funkce ve standardní knihovně apod. To samé třeba podpora Unicode/Utf-8 - donedávna se musely použit magické pragmy, pokud to tedy vůbce šlo, aby kompilátor nezrakvil stringy v programu v závislosti na lokálním kódování. Do toho, jaká šílenost je msbuild, se radši ani pouštět nebudu. To, že správa dependencí je řešená stylem "hahaha lol, dependence? Co to je? To si pořešte nějak sami" taky asi nemá smysl moc komentovat.

    MSVC jako prostředí startuje pomalu a operuje pomalu, což dává smysl, vzhledem k tomu, kolik kravin obsahuje. Instalace má několik gigabajtů, z čehož nemalá část se v systému zabydlí natrvalo a už se nedá odinstalovat. Instalačka se tváří, že umístění instalace jde customizovat, což ale ve skutečnosti nejde (nebo jen částečně)... resp. nové verze myslimže už ani tu možnost nenabízejí (teď nevím přesně) a instalační cesta je hardcoded, přesto je ale potřeba šílené startup batch skripty, které nastavují cestu k toolchainu, aby bylo možné vůbec kompilátor zavolat. Nové verze - tzn. ty, které už konečně mají rozumnou podporu C++ standardů, Unicode atd. - vyžadují (pokud vím) vytvoření účtu u Microsoftu a zalogování při používání IDE a pro aktualizace.

    Jako má to i svoje dobré stránky - přijde mi, že kompilátor je relativně rychlej, produkuje co vím celkem dobrý kód a třeba debugger taky relativně ujde - ale hrozně mě na tom celkově vysírá ten porod to všechno nainstalovat a uprosit, aby to samo se sebou spolupracovalo, a pak kolem toho chodit po špičkách, aby to náhodou neupadlo zpět do chaosu...

    /rant
    Líbí se mi programy jako Inno Setup, které prostě fungují.
    S tím souhlasím, nicméně MSVC bych označil za pravý opak Inno Setupu.
    Můžu posloužit mnoha historkami. Třeba když jsem chtěl napsal linker script pro gcc, abych vytvořil binárku, kterou bych mohl flešnout do ARMu. Dokumentace na houby, musel jsem projít zdroják gcc linkeru, abych skutečně zjistil vůbec co to umí a co ne.
    Zbývá dodat, že s MSVC bys tohle neudělal vůbec...
    Max avatar 17.5.2019 23:12 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Máme Visual Studio z MSDN. Registrace ani propojení s MS účtem myslím není třeba. Updaty fungujou podobně jako u Office 2013/2016/2019/365. Prostě napřímo z MS serverů.
    Offline instalace Visual Studio 2017 má přes 40GiB. To je ostatně i ten důvod, proč už se nedistribuuje jako nosič (iso image), ale jako pár MiB soubor, který si při instalaci zvolené části sosá přímo z netu.
    Stačí spustit s pár parametrama a všechno stáhne lokálně lze dál lokálně distribuovat.
    Osobně ale nechápu, proč to má celý přes 40GiB (C# a pár věcí kolem, co klucí používají, a je to asi přes 9GiB).
    Zdar Max
    Měl jsem sen ... :(
    17.5.2019 23:27 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Offline instalace Visual Studio 2017 má přes 40GiB
    Crosstool-ng adresář s nabuildovaným ARMem má jen 20GB ;-) Eclipse pro C má asi 200MB (?). Na SSD v notebooku, kde kompiluju kernely by se mi MSVC nevešlo.
    xxx avatar 17.5.2019 23:18 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Jako premyslim, jestli bylo vetsi peklo MSVS s konfiguraci buildu v nejakejch podlanejch XMLkach, kde ve vysledku bylo i pro automatizavany build poustet msvs, protoze msbuild na ne nestacil.

    Nebo jestli je vetsi peklo KDevelop a CMake, kde ten p******* ********* ***** neni schopnej v ramci refactoringu prejmenovat korektne funkci.

    A pomalu zacinam chapat lidi co tvrdi, ze vim, grep a sed a par dalsich veci jsou nejlpsi IDE.
    Please rise for the Futurama theme song.
    18.5.2019 08:32 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    A Qt Creator si zkoušel? Jdou v tom psát i ne-Qt věci. Co se týče IDE pro Linux, nemá to za mě žádnou konkurenci. Pravda ale je, že nejsem žádný "über programátor", co denně vychrlí 10k řádků a ještě u toho ve volném čase diskutuje na rootu o monádách...
    Každý má právo na můj názor!
    xxx avatar 20.5.2019 18:12 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Vyzkousel jsem, a pocity jsou takove smisene.

    - Import CMake projektu rucne, nebot automatika... no radsi bez komentare.

    - Refactoring celkem OK.

    - Je to po-ma-le. Hlavne ze boxik po najeti treba na promenou ma 3D design, ale proc to trva sekundu nez se vykresli. (Ale mozna je to problem jen Ubuntu)

    - Totalni waste of space vsude v GUI (Jako v celem Qt). Uzasne zejmena a u "select symbol", kde to struktury ukaze rozbalene.

    Takze, tak. Detaily, jako ze build funguje, ale run uz ne, protoze to nevidi binarku, ackoliv je cesta nastavena spravne. Debug si zase pro jistotu vycucal adresar uplne jinej a blbej. To uz jsem zvyklej z Linuxu obecne.
    Please rise for the Futurama theme song.
    17.5.2019 23:24 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Standardní knihovna je sice "prodchnutá asserty", nicméně důsledek toho je, že nelze linkovat debug a release verze programu / knihoven, všechno musí být jak u blbečků na dvorečku zbuildováno dvakrát (případně vícekrát)

    Já nevím o tom, že to nejde, a proto to bez problémů u MSVC dělám. Ale uznávám, že kdybyste mi včas řekl, že to nejde - tak bych se o to možná nepokoušel. :-)

    O jakém C++ standardu mluvíte? V poslední době jich přišlo několik za sebou. Jen idiot by kritizoval kompilátor, že nedávné standardy podporuje až nedávná verze kompilátoru. Poslední verze C++ je z konce roku 2017. Předpokládám, že vývojáři kompilátoru potřebují nějaký čas na odladění.

    Mně je fakt u zadele kolik GB má instalace.

    Já jsme za celých cca 20 let používání MSVC nikdy neměl problém s používáním, a nemusel IDE prosit. I na poprvé jsem nainstaloval a jel. Prostě jsem sedl a udělal co je potřeba. Dokonce jsem nepotřeboval nikdy přečíst žádný návod.

    Debug schopnosti MSVC jsou daleko vepředu za čímkoli, co máte v gcc a cokoli kolem něho. To je jedna z hlavních věcí, které člověk při vývoji potřebuje. Je to na jednom místě.

    Kód, který leze z kompilátoru MSVC je kvalitní, a gcc je mu v optimalizaci kódu vůbec nějakým soupeřem až posledních pár roků.

    ***

    Já nemám nic proti GCC, ani proti Linuxu, ani proti open source. Pragmaticky chci ale věci dělat, a nesrat se s tím.

    Nechci si číst "jak rozchodit open source program", protože pokud je to třeba nějak hodně víc řešit, tak to říká, že autor open source programu se na to vykašlal. A to je bohužel případ drtivé většiny open source programů, i programů přicházejících z Linuxu.

    ***

    V MSVC bych nemusel ten skript pro linker vůbec psát. Jednoduchý kraťoučký assembler modul, který by v linkeru šel jako první objektový modul, by vhodně proházel a nastavil segmenty celého programu to řeší stokrát jednoduššeji. Jak to nakonec stejně dopadlo.

    Navíc v MSVC nemusím pro to nastavení segmentů nic zkoumat, natož hackovat zdrojáky či binárky linkeru. Dostanu to na stříbrném podnose přímo v dokumentaci.
    17.5.2019 23:33 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Já nemám nic proti GCC, ani proti Linuxu, ani proti open source. Pragmaticky chci ale věci dělat, a nesrat se s tím.
    Hmm to souhlas, holt se ale očekává, že když je projekt vyvíjený zdarma, tak to na stříbrném podnose nedostaneš. Ale existují projekty, které i přesto mají velmi dobrou kvalitu na to, že jejich vývojáři nejsou obvykle placeni. Například kernel.
    xxx avatar 17.5.2019 23:40 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    V pripade kernelu bych tipoval, ze takj 99% jeho vyvojaru je placeno. At uz core, nebo driveru.
    Please rise for the Futurama theme song.
    18.5.2019 00:19 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Tak to jsem to jedno procento :-(. Zrovna u driverů, do kterejch jsem se vrtal to je nepravděpodobný, že by je někdo platil, jedno je PXA27x, která už je tak 10 let obsolete a druhý je SoC modemu, který už intel má spíš v udržovacím módu. Neříkám, že někdy v historii na tom placení vývojári nedělali, ale ta verze by dneska vůbec nefungovala.

    Brzo by měla IMO vyjít nějaká statistika od Grega KH.

    Ale proč se nezeptat rovnou tady: Je tu někdo, kdo má patch v kernelu a byl za to zaplacen? (řekněme většinově, nebo kontinuálně - ty akce kde někdo rozdával bitcoiny podle commitů bych nepočítal).
    xxx avatar 18.5.2019 00:29 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Nemam primo patch, ale vyrobce SoC tam moji opravu, kterou jsem mu poslal, dotahl. (Rozumnej byl jsem linej se srat s nejakym postovanim do mailing listu). Oprava vznikla v ramci HPP.

    Coz ukazuje na jednu vec. Vyrobce SoC plati lidi, kteri na driverech pracuji.
    Please rise for the Futurama theme song.
    18.5.2019 00:53 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Zajímavý, který výrobce? Že bych mu dal plus ve whitelistu :-D.

    Já se třeba snažil kontaktovat Mediatek s podporou pro PCIe MT7628 a zkusil jsem snad 3 způsoby včetně mailů z kernelu, které mají mediatek doménu (a vývojáři posílali podporu pro modernější ARM based SoCy) a ani na jeden pokus mě nikdy z mediateku neodpověděl. Takže jsem musel ten driver vymyslet/opravit z chování hardware stylem pokus omyl. Až budu mít čas a koupím si náhradní desku (protože jsem si tu testovací při pokusech odpálil :-D), tak to asi pošlu do kernelu taky (a zadarmo, nikdo mě, natož mediatek, odměnu nenabídl :-/ ).

    Ale jinak pár nabídek na placený vývoj driverů jsem samozřejmě měl, ale nic přímo do vanilla se myslím ještě (zatím) neuskutečnilo :-D.
    xxx avatar 18.5.2019 00:54 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    NXP
    Please rise for the Futurama theme song.
    18.5.2019 01:01 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Hmm tak to bude možná jen přesun do neutrálu :-D. Jejich DVB-T dekodér myslím SAA7134 a příslušné tunery mě vůbec nefungovaly (po chvíli fungování se rozpadla I2C komunikace čipů na kartě, spadlo AGC a s tím i příjem, fungovalo to zase až po power cycle) a nikde nebyla registrová dokumentace. Ale to bylo ještě od Philipsu, tak nevím no.
    xxx avatar 18.5.2019 00:37 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    BTW: s tou funkcnosti starych veci. Tam to muze byt hdone tragicke, ale mam tam zkusenosti spis z U-Bootu, kde za funkcni nelze povazovat nic, co si clovek sam neoveri.
    Please rise for the Futurama theme song.
    18.5.2019 00:47 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Ano souhlas uboot má tristní kvalitu kódu, kde si každý naforkuje repo a do upstreamu nevrací, takže je pak hafo vzájemně nekompatibilních poloverzí po netu. Ale takový způsob řízení by právě třeba v kernelu IMO neprošel. Na vrtání se v ubootu pro ten modem jsem zatím neměl nervy a ani to není potřeba, ale tipuju že to bude horší než podpora kernelu a ta je špatná dost.
    xxx avatar 18.5.2019 00:50 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Ja mam spis pocit, ze v pripade U-Bootu je problem, co se do upstreamu vraci ;-)

    Rozumej, nikdo netestuje obecne veci na jine platforme, nez na ktere vyviji.
    Please rise for the Futurama theme song.
    18.5.2019 00:56 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Jo to asi taky já jsem vždycky musel používat vendor fork ubootu, protože ve vanille podpora nikdy nebyla. Každopádně kdyby vedl vanillu někdo jako Linus, tak ten by IMO neotestované věci blokoval.
    xxx avatar 18.5.2019 01:06 xxx | skóre: 42 | blog: Na Kafíčko
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Ten problem je slozitejsi. V zasade prameni z toho, ze si nekteri pletou bootloader s OS. Takze proces pridaveni features do U-Bootu vypada tak, ze se neco vyrve z jadra, oholi se to na kost, a pak se doufa, ze to bude fungovat.

    A ono to vetsinou funguje. Dokud to nezkusis pouzit s jinou podobne ziskanou funkcinalitou, nebo na jine platforme, nebo trochu jinak nez zamyslel autor.

    Je to proste dusledek toho, ze nekdo chce mit v bootloadru podporu pro vsechny myslitlne FS, sitove protokoly a jine kraviny.

    --- IMHO njvetsim blockerem prispivani do U-Bootu dneska je, ze si musis spravne nastavit mailoveho klienta. Tam neni kapacita lidi, na nejake solidni CR, testovani, atp. Vzhledem k rozsahu, ktery se snazi pojmout.
    Please rise for the Futurama theme song.
    17.5.2019 23:53 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Hmm to souhlas, holt se ale očekává, že když je projekt vyvíjený zdarma, tak to na stříbrném podnose nedostaneš.

    To není dobrý argument. MSVC je také zdarma s většinou funkcí.

    ***

    Ale existují projekty, které i přesto mají velmi dobrou kvalitu na to, že jejich vývojáři nejsou obvykle placeni. Například kernel.

    To také není dobrý argument. Drtivá většina vývoje linux kernelu je placena.

    ***

    Mimochodem, ten Inno Setup je také zdarma. Jeho autor to přesto udělal jednoduše použitelné, a efektivní.

    To, jestli je program zdarma nebo ne - nemá na kvalitu sebemenší vliv. Je to o schopnostech a kvalitě programátora. Linux a open source hnutí ale žije v nesmyslné iluzi, že milión amatérů udělá stejně kvalitní programy jako profesionálové a zkušení programátoři. Neděje se tak. I ten kernel vzali už dávníčko do pracek profesionálové.

    18.5.2019 00:34 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    To není dobrý argument. MSVC je také zdarma s většinou funkcí.
    Vývojári jsou pořád microsoftem placení ne? Zdarma je tedy jen zdánlivě. Tipoval bych že podobně je zdarma v opensource zdánlivé v tom, že do toho musíš prostě investovat víc času.
    To také není dobrý argument. Drtivá většina vývoje linux kernelu je placena.
    Samozřejmě někteří výrobci si je platí a přední vývojáři jsou placení asi LF, ale v případě driverů, kdy je po několika letech HW obsolete, tak už to není tak dobrý u HW, kde driver nevyvíjel výrobce a nebo byl driver vyvinutý reverse engineeringem je to vysoce nepravděpodobný. Myslím že třeba realtek moc do kernelu nepřispívá, vím, že pro ty usb wifiny mají vlastní, byť otevřený, driver. Ale není třeba brát obskurní drivery:
    When can we expect a working driver ?

    It really is not easy to predict dates, as show-stoppers may appear any time. Very few, usually none, of the developers are paid to work on Nouveau, so progress depends on their free time and interests.
    ...
    Mimochodem, ten Inno Setup je také zdarma. Jeho autor to přesto udělal jednoduše použitelné, a efektivní.
    No malé projekty asi nebude tak náročné vyvíjet zdarma a kvalitně (a rychle). Ale u něčeho jako třeba firefox to je IMO nemožné.
    18.5.2019 01:04 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Já nevím o tom, že to nejde, a proto to bez problémů u MSVC dělám. Ale uznávám, že kdybyste mi včas řekl, že to nejde - tak bych se o to možná nepokoušel. :-)
    Řeč byla o situaci se statickými knihovnami...
    O jakém C++ standardu mluvíte? V poslední době jich přišlo několik za sebou. Jen idiot by kritizoval kompilátor, že nedávné standardy podporuje až nedávná verze kompilátoru. Poslední verze C++ je z konce roku 2017. Předpokládám, že vývojáři kompilátoru potřebují nějaký čas na odladění.
    Platí to pro +/- kterýkoli standard od C++11 dále. MSVC má typicky zpoždění za GCC a clangem, a to až o několik let. Nejvíc je to vidět asi na constexpr, který gcc / clang podporovaly někdy od r. 2011/2012, zatímco MSVC přidalo prvotní podporu v roce 2015, která nicméně byla ještě loni nekompletní/zabugovaná. Nevim, jak letoší vydání, možná se to zlepšilo, třeba mají po 10 letech kompletní podporu :-D

    C++ standardy nepadají z nebe z ničeho nic, vznikají většinou ne úplně krátkým dlouhým procesem, kde kompilátory mohou být součástí a poskytovat zpětnou vazbu. Proto mají gcc/clang podporu pro ty věci kolikrát už v momentě, kdy ten standard vyjde, někdy i dříve.
    Debug schopnosti MSVC jsou daleko vepředu za čímkoli, co máte v gcc a cokoli kolem něho.
    Nějak tohle "daleko vepředu" nepozoruju, přijde mi to +/- podobný. V něčem je MSVC lepší, ale že by to byla výrazná převaha... Možná to bude tím, že nejsem až takovým nadšencem do prostředí, které vyžadují práci s myší podobně intenzivní jako ve střílečce...
    18.5.2019 18:55 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows

    Ten rozdíl/problém ale vůbec není o tom, jestli je software open source nebo ne. Rozdíl v kvalitě dělá to, zda-li je vývoj placen, nebo ne. A velká část open source (především desktopového SW) je neplacená, tzn. jeho vývojáři z toho nemají ani korunu. A to se prostě na kvalitě/možnostech toho SW musí projevit - nikdo nemůže vložit do vývoje SW několik let života aniž by jedl nebo někde bydlel...

    Open source software, který je vyvíjen komerčně bývá minimálně stejně tak kvalitní, jako ten komerční ne-open source. Z vámi zmiňovaných tak například Linux (jádro) má minimálně stejnou kvalitu jako Windows a clang minimálně stejnou kvalitu jako MSVC. V obou případech ale za vývojem toho SW stojí velké společnosti, které do jeho vývoje nasypaly srovnatelné množství financí jako Microsoft do Windows a MSVC.

    Každý má právo na můj názor!
    21.5.2019 11:02 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Ani v tom to nebude. Dělám (mimo jiné) podporu sw, který vydělává opravdu hodně hodně peněz, je to striktně komerční záležitost, všichni, co na tom kdy dělali, byli placeni (podle mé zkušenosti sice nijak královsky, ale dobře) a tak spatlaný a zprasený kód jsem nikde jinde neviděl. Je to, mimo jiné, tím, že se na tom vystřídalo hodně lidí a často si mezi sebou nestihli předat potřebné informace.
    21.5.2019 12:31 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows

    "Spatlaný a zprasený" kód uživatele vůbec nezajímá. Ty zajímá zda SW dělá rychle a spolehlivě přesně to, co od něj vyžadují. Dokonce bych si dovolil tvrdit, že čím lepší SW, tím "hnusnější" kód, protože složitě řeší právě ty detaily, které jsou to co odlišuje dobrý SW od toho průměrného.

    "Krása" kódu (stejně jako například testy) je prostředek, ne cíl, i když si to tady spousta programátorů odmítá připustit.

    Každý má právo na můj názor!
    21.5.2019 13:07 prqek | blog: prqek
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    A když ta spatlanost a zprasenost vede k chybám jako buffer overflow, memory leak apod. ?
    21.5.2019 14:45 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows

    Tak se musí investovat víc prostředků do oprav těch chyb. Ale stále může (a běžně taky je) být mnohem výhodnější takový kód opravovat, než se rozhodnout to celé přepsat. Protože tím získáte zcela jistě novou sadu chyb ale rozhodně ne jistotu, že to bude po přepsání výrazně lepší. Nehledě na to, že po těch několika letech, který vám bude ten přepis trvat zjistíte, že váš SW už nikoho nezajímá, protože konkurence mezitím nespala (nepřepisovala)...

    Každý má právo na můj názor!
    18.5.2019 01:25 Ovoce | skóre: 16 | blog: Vyplizlo_ze_zivota
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Nejsem programátor, ala na tom o lepším debugování v MSVC něco bude.

    Kdysi FFmpeg nepodporoval kompilování s MSVC. Ale před několika lety tu podporu přidali a dosáhli toho, že se to s ním už zkompilovat dá. A důvod, proč to udělali, byl přesně protože to ulehčujedebugging, který s MSVC šel líp (podle Ronalda B. Bultjeho).
    17.5.2019 23:21 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Já nikoli. Na Windows jsem se setkal veskrze s vyšší kvalitou software.

    A nejhorší kvalitu má většina open source programů. Protože pro jejich propagaci stačí, že jsou "open source", a dál už se autoři nemusejí snažit.
    No já nemusím ani chodit daleko, stačí samotnej windows, když jsem se snažil nainstalovat win7 na usb disk tak ho to ani nenašlo. Podzimní updaty win10 bylo peklo, ten nucený update z win7 na win10 jsem musel opravovat koupí novýho disku (teda nevím jestli ten disk nebyl poškozenej už před, ale dostal jsem ho s tím, že to chcíplo hnedka po updatu).
    Například jeden z důvodů, proč i unixové programy ladím v Microsoft Visual Studiu je ten, že nic podobného na unixech není.
    No já ladil v eclipse, jeden externí driver pro wifinu do linuxu, něco napůl mezi opensource a closedsource, s extrémně obskurní kódem (takže bych to řadil spíš do closedsource). Ale třeba kernel v eclipse ani ladit nepotřebuju, protože vím kde co je. Ale já jsem hlavně C + embedded programátor, takže ty projekty nejsou moc velký.
    Opakovaně v průběhu roků dávám výzvu, že budeme soutěžit v efektivitě práce s vektorovým editorem Inkscape. To je totiž asi s předstihem nejdebilnější ovládání programu, jaké jsem kdy zažil.
    No poster se v tom sestavit dal a jednoduchý vektory jsou OK. Ovládání by asi mohlo bejt lepší, to jde vždycky, ale mě trvá dýl vymyslet co nakreslit než jak to kreslit. Je fakt, že Inscape musím čas od času rekompilovat, když se změní verze c++ knihoven.
    Zvítězím jen tehdy, pokud to bude mít alespoň třikrát rychleji než kolega s Inkscape. Dosud nikdo neměl odvahu do toho jít.
    Njn na to bych si netroufl, já v inskcape dělal naposled něco tak před půl rokem a to bylo jen pár čtverečků vykopírovanejch z pdfka, kam jsem dokresloval šipky :-/.
    Já už jsem unaven drsnou nekvalitou programů, které jdou od open source, a hlavně jejich nedodělaností. A zejména toho, co jde z Linuxu.
    Ale pokud to je opensource tak si vždycky můžeš kód opravit ;-).
    Můžu posloužit mnoha historkami. Třeba když jsem chtěl napsal linker script pro gcc, abych vytvořil binárku, kterou bych mohl flešnout do ARMu. Dokumentace na houby, musel jsem projít zdroják gcc linkeru, abych skutečně zjistil vůbec co to umí a co ne. A neřekl bych, že GCC je okrajový projekt.
    Divný já dělal linker skripty na standalone prográmky pro PIC32 (MIPS) a zdrojáky gcc jsem prolízat nemusel, stačilo si přečíst dokumentaci a prohlídnout pár návodů.
    17.5.2019 23:40 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    No já nemusím ani chodit daleko, stačí samotnej windows,...

    A propó, většina lidí jede na Windows proto, že před cca 10 a více lety byla instalace Linuxu neskutečná pruda. To je přesně ten "pattern", o kterém mluvím jako o zvyku v celém open source.

    Dnes už je instalace Linuxu jednoduchá, ale že by tam jelo všechno bez problémů...

    ***

    No poster se v tom sestavit dal a jednoduchý vektory jsou OK. Ovládání by asi mohlo bejt lepší, to jde vždycky, ale mě trvá dýl vymyslet co nakreslit než jak to kreslit.

    Ale ono se dá vždycky. Ale já už jsem starej na to, abych všechno dělal pravou rukou přes levé ucho. Toto není kvalita, a takové "open source" a "kvalitní linuxové programy" já velice rád přenechám jiným lidem s masochistickými sklony.

    Když jsem se pokoušel Inkscape znásilnit, tak jsem byl v 80 % rychlejší, když jsem SVG grafiky napsal rovnou jako zdroják, než přes Inkscape. SVG je obyčejné XML. A to už je hodně špatná vizitka.

    Já raději program, ve kterém za hodinu udělám to, co v Inkscape za půl dne. Nevidím žádný bonus v tom, že to může patlal pomalu, déle a ještě se u toho nadřít.

    ***

    Ale pokud to je opensource tak si vždycky můžeš kód opravit ;-).

    Nebo použít lepší program, a neztrácet čas... Zvláště když to něco je GPL, a pak mě budou popohánět kdesi až u Stallmana, kdybych to dal dál, nebo slinkoval s nějakým mým porgramem.

    ***

    Divný já dělal linker skripty na standalone prográmky pro PIC32 (MIPS) a zdrojáky gcc jsem prolízat nemusel, stačilo si přečíst dokumentaci a prohlídnout pár návodů.

    Já jsem takto naprogramoval svůj vlastní relatimový operační systém pro ARMy. A tam je těch vyfikundací, co po tom chcete trochu více. Zajímavé je, že v MS prostředí nebyl žádný skript potřeba. Vše se dalo nastavit jako parametry segmentů = přímo součást zdrojových kódů.

    18.5.2019 00:42 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Dnes už je instalace Linuxu jednoduchá, ale že by tam jelo všechno bez problémů...
    Nejede, ve slackwaru 14.2 mě nešla nainstalovat experimentální podpora btrfs. Musel bych to instalovat ručně v konzoli. Jenže v tom windows jsem se prostě dál nedostal :-D.
    Toto není kvalita, a takové "open source" a "kvalitní linuxové programy" já velice rád přenechám jiným lidem s masochistickými sklony.
    Tak kdybych se dokázal naklonovat, tak bych ti za cenu řekněme 30% ceny corel draw ten inkscape opravil, ale není čas no :-D.
    A tam je těch vyfikundací, co po tom chcete trochu více.
    Tak pokud to ještě nikdo nikdy nepotřeboval, tak to tam holt ještě nebude no. To by chtělo ukázkový kód.
    18.5.2019 01:50 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Nejede, ve slackwaru 14.2 mě nešla nainstalovat experimentální podpora btrfs. Musel bych to instalovat ručně v konzoli.
    P.S. A ještě bych dodal že slackware 14.2 je už skoro 3 roky starý a Patrik nejspíš časem vždycky opraví všechny chyby co mu komunita oznámí ...
    18.5.2019 01:36 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kvalita programů Linux x Windows
    Ale ono se dá vždycky. Ale já už jsem starej na to, abych všechno dělal pravou rukou přes levé ucho. Toto není kvalita, a takové "open source" a "kvalitní linuxové programy" já velice rád přenechám jiným lidem s masochistickými sklony.

    Když jsem se pokoušel Inkscape znásilnit, tak jsem byl v 80 % rychlejší, když jsem SVG grafiky napsal rovnou jako zdroják, než přes Inkscape. SVG je obyčejné XML. A to už je hodně špatná vizitka.

    Já raději program, ve kterém za hodinu udělám to, co v Inkscape za půl dne. Nevidím žádný bonus v tom, že to může patlal pomalu, déle a ještě se u toho nadřít.
    Ty to teda prožíváš. Naposledy jsem v Inkscape dělal křivku, kterou jsem pak řezal do dřevěné desky na laserovém plotteru. Respektive připravil jsem nějaký základ a vlastní tvar pak z většiny 'namalovala' manželka, která není žádná programátorka ani nedělá technickou práci. Nicméně to zvládla bez problému. Jediné, co jsem si musel najít, byl kártký návod, jak zařídit, aby se kresba automaticky 'naživo' kreslila osově symetricky, tzn. při úpravě křivky na jedné straně se symetricky upravuje i druhá strana (ne pouze symetrické nakopírování už nakresleného tvaru - to bych uměl i bez návodu).

    Inkscape mě překvapil tím, jak snadné to celé bylo, včetně toho, že jsem potřeboval tvar říznout dvakrát koncentricky s druhým řezen asi o milimetr větším ve směru normál křivky, tak, aby vznikla milimetrová mezera. Tohle Inkscape zařídil na jedno klinutí, funkce se jmenuje Dynamic offset.

    Celý proces byl hotový za chvíli, nebylo přitom potřeba číst manuály ani zdrojáky ani upravovat XML nebo podobné kraviny. Jestli to umí CorelDraw taky, to nevim a asi to ani vědět nepotřebuju. Popravdě mě trochu překvapuje, že ještě vycházejí nové verze, naposled jsem ten software viděl před mnoha lety...

    Podle mě s tím FOSS softwarem máš něco jako Self-fulfilling prophecy, kdy očekávání, že to půjde špatně, způsobí, že to skutečně pak jde špatně...
    17.5.2019 23:15 luky
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Vetsina 20 let starych programu bude fungovat i na Linuxu, pokud jste je linkoval staticky a nebo si vsechny knihovny vlecou s sebou, stejne jako se to dela na win.
    17.5.2019 23:45 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Porovnejte rozsah Linux kernel API (asi jediné, s čím můžete u Linuxu v šíři věků a distribucí počítat) a rozsah Windows API. To dá odpověď, proč je to u Windows o mnoho řádů snadnější.
    18.5.2019 11:42 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    To dá odpověď, proč je to u Windows o mnoho řádů snadnější.
    A to da taky odpoved, proc neexistuje alternativni implementace Windows a clovek se musi nadobro uvazat u Microsoftu.

    Jinak machrovat s rozsahem API je ponekud ... Dobre API, protoze je to rozhrani, se pozna podle toho, ze je minimalni a umoznuje delat maximum veci. WinAPI, ktera ma vyssi desitky tisic volani (mozna to ted bude i pres sto) neni zrovna ukazkovym prikladem, jak delat rozhrani.

    Vlastne je to ukazkovy priklad, jak se to delat nema. Nejsmutnejsi na tom je, ze i kdyz ma WinAPI tolik volani a jeden by si rekl, ze to bude radost s takovym API programovat, tak ve skutecnosti psat proti cistemu WinAPI je neskutecne utrpeni.
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    18.5.2019 12:24 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Že vás baví se s astrologem ponkrácem vůbec vybavovat... dneska předpověděl, že Windows API je o mnoho řádů lepší, zítra předpoví, že není a nikdy nebylo...
    Quando omni flunkus moritati
    18.5.2019 18:33 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Inno Setup : OSS instalátor pro windows
    Tak za mě, radši se budu s Ponkrácem hádat o tom zda je lepší pajplajna ARMu nebo x86 než třeba někde jinde o politice. A je jedno která strana má pravdu (ARM samozřejmě :-P). Taková technická hádka mi dá víc než politická.
    17.5.2019 03:25 Miloslav Ponkrác
    Rozbalit Rozbalit vše Inno Setup
    Normálně na abclinuxu nepíši. Výjimky dělám u kvalitní postů, jako je tento.

    Zkoušel jsem na instalace NSIS, Inno Setup i MSI - a už mnoho let zůstávám u Inno Setupu. Je prostě nejlepší, jednoduchý, a funguje bez jakýchkoli problémů. Navíc je stále vyvíjený a freeware (že je navíc open source je mi úplně jedno).

    Všechno se jednoduše naskriptuje stylem INI souborů, tedy řádek parametr=hodnota. Pro jednoduché skriptování má preprocesor trochu ve stylu C. Pro složitější má Pascalovské skriptování, kam zkopírovali i okna ve stylu Delphi.

    Člověk se s tím nemusí párat, a udělá v tom i velmi složité věci sakra jednoduše. Inno Setup vás neotravuje s ničím navíc, co nepotřebujete řešit (na rozdíl od NSIS nebo MSI). Prostě to funguje. Kéž by tak dobře fungoval veškerý software jako Inno Setup.

    Když jsem potřeboval různé speciality, tak jsem je v Inno Setupu také udělal. Instalace ikonek, fontů, registrace a instalace COM/OLE objektů, instalace/odinstalace služeb, modifikace databází SQL dotazy po instalaci - žádný problém.

    Inno Setup můžu jenom doporučit. Používám ho už skoro 20 let.

    Max avatar 17.5.2019 08:12 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Inno Setup
    Díky za info a potvrzení, že jsem si vybral dobře :).
    Zdar Max
    Měl jsem sen ... :(
    Ruža Becelin avatar 17.5.2019 08:19 Ruža Becelin | skóre: 40 | blog: RuzaBecelinBlog
    Rozbalit Rozbalit vše Re: Inno Setup
    Diky za odpoved.
    17.5.2019 11:20 _
    Rozbalit Rozbalit vše Re: Inno Setup
    Toto psal falešný Miloslav Ponkrác. Ten pravý dal jasně najevo, že sem už za žádných okolností psát nebude.
    17.5.2019 21:30 Miloslav Ponkrác
    Rozbalit Rozbalit vše Abclinuxu je kvalitní
    Miloslav Ponkrác čas od času komentuje kvalitní posty, především programátorské.

    Abclinuxu je z mého pohledu dnes asi nejkvalitnější rozšířenější web, co se týká sw a linuxu.

    Root už je dávno spíše politická korektnost a vzájemné plácání po ramenou. Není tam nic, co bych si tam přečetl. Články Tišnovského jsou pro mě zbytečné, protože pouze přepisují referenční příručky programovacích jazyků. Ty si mohu přečíst přímo, a mám to bez zkreslující omáčky pana Tišnovského.

    Na rootu byly nejzajímavější diskuse, kde se vždy někdo znalý objevil. To už zničili. Chápu to, chtjěí být atraktivní pro reklamní inzeráty. Prostě musejí jít s dobou, být korektní, a tvářit se uhlazeně. Nicméně mám dojem, že svět techniků je z principu trochu syrový. Tedy root se pokouší o něco, jako vyrobit sjednocení ohně a vody.

    17.5.2019 22:24 _
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Škoda že je to ezodebil a fanatik.
    17.5.2019 23:01 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Já, ani kdokoli jiný, opravdu nemůžeme za to, že jste debil a fanatik. Proč to vůbec o sobě píšete, a zahnojujete tak diskusi?
    17.5.2019 23:23 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Tak se odporoucejte. Nemusite diskutovat. Vratte se ke kristalove kouli a dejte pokoj.
    17.5.2019 23:47 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Vy máte taky mindrák? Taky jste debil a fanatik jako pomlčka?
    17.5.2019 23:59 _
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Narvi si svoje astrologické kyvadlo do prdele a táhni, nikdo tě tu nechce šmejde.
    18.5.2019 00:12 _
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Tohle psalo falesne podrtrzitko, bez astrologu by lidi verili jeste vetsim picovinam (ano jde to) takze podvodniky typu Pankrace cenim
    18.5.2019 00:07 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Mindrak mate leda tak vy. Uz tisickrat jste napsal, ze uz psat nikdy nebudete. Tak to, Gott im Himmel, konecne dodrzte.
    18.5.2019 14:18 johnyK | skóre: 2 | blog: uxblog
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Miloslav Ponkrác čas od času komentuje kvalitní posty, především programátorské.
    diky
    Abclinuxu je z mého pohledu dnes asi nejkvalitnější rozšířenější web, co se týká sw a linuxu.
    s tim take absolutne souhlasim
    Root už je dávno spíše politická korektnost a vzájemné plácání po ramenou. Není tam nic, co bych si tam přečetl. Články Tišnovského jsou pro mě zbytečné, protože pouze přepisují referenční příručky programovacích jazyků. Ty si mohu přečíst přímo, a mám to bez zkreslující omáčky pana Tišnovského.
    ano i ne. Jsem take toho nazoru, ze pan Tisnovsky vicemene prepisuje do cestiny 'aktualni stav techniky', ale ja to budto preletnu, nekdy si to vytisknu a ctu si to treba ve vlaku. Ty informace pak konfrontuji s jinymi zdroji. Podle mne to neni uplne zbytecna prace. Navic mam takovy pocit, ze pan Tisnovsky sleduje temi seriemi clanku nejaky vyssi cil - to bych se rad dovedel, zda za tim stoji RH, nebo v Brne na necem vyvijeji a pan Tisnovsky je takova 'hlasna trouba' <- to ted je mysleno pozitivne. Mam pocit, ze nejdrive se pripravovala puda temi redixy -> message brokery aby se ted konecne dostal k tem mikriservices, ktere to vsechno potrebuji. Ja tusim, ze pan Tisnovsky ma nejaky plan. :-)
    Na rootu byly nejzajímavější diskuse, kde se vždy někdo znalý objevil. To už zničili.
    s tim opet souhlas, navic to tak vidi rada lidi v te diskuzi na rootu. Proto jsem si rekl, ze kdyz budu mit cas, tak sem jako blog prepisu ty hlavni myslenky nejakeho aktualniho 'root-clanku' a pak je mozno o tom diskutovat zde. A dokonce si myslim, ze by se na tom mohlo podilet nas vice -> byla by to zajimava delba prace -> root by zaplatil autora a clanek by vydal a zde by se mohlo bez omezeni onem diskutovat :-)

    P.S.

    Jen na okraj bych chtel potvrdit, co jsem cetl na te diskuzi na rootu - patrim mezi ty lidi, kteri nejake debilni poznamky v diskuzi bez problemu v hlave filtruji a proto me i zde ty poznamky o 'nespravnem' panu Ponkracovi nijak zvlast nevadi.
    20.5.2019 07:18 Want
    Rozbalit Rozbalit vše Re: Abclinuxu je kvalitní
    Ja tusim, ze pan Tisnovsky ma nejaky plan.
    A co vám brání se ho na to zeptat? Třeba by z toho bylo zajímavé interview.

    Fakt nechápu tu žabomyší averzi lidí kolem A versus B. Vypadá to jak dohady trosečníků, plující na jedné pidiloďce co mají strach aby se náhodou nezvrhli, když by si sedli k jednomu bortu. Protože na velkých lodích to vypadá úplně jinak.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.