Jak ustawić wersjonowanie plików BPL

Jak ustawić wersjonowanie plików BPL
woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 3 godziny
  • Postów:1597
0

Witajcie,

W delphi wykorzystuję mechanizm automatycznego generowania wersji:
screenshot-20230202091523.png

Sprawdza się fajnie bo na pliku (i od strony kodu) można od razu sprawdzić czy i jaka wersja jest danego exe
screenshot-20230202091756.png
Ustawiłem to samo dla BPL i niby przy kompilacji numer wersji się zgadza, mogę się do niego dostać od strony kodu ale nie da się go podejrzeć z poziomu pliku
screenshot-20230202092042.png
Macie jakiś pomysł jak inaczej wersjinować pliki bpl?

WL
  • Rejestracja:ponad 21 lat
  • Ostatnio:7 dni
  • Postów:1083
1

Sprawdź proszę czy to czasem nie chodzi o taki przypadek:
File version information does not appear in the property sheet for some files.

woolfik
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 3 godziny
  • Postów:1597
0
wloochacz napisał(a):

Sprawdź proszę czy to czasem nie chodzi o taki przypadek:
File version information does not appear in the property sheet for some files.

Hmmm ciekawe ale po dodaniu tego klucza do rejestru dalej nie widać tego numeru wersji

WL
Nie wiem, nie sprawdzałem tego - ale restart windy zrobiłeś? 😉 Bo z tego co piszesz, to raczej to nie jest problem BPL/Delphi.
woolfik
Delphi to ustawia w pliku, a potem kawałek kodu z użyciem WinAPI to odczytuje więc raczej właśnie problem leży po stronie windowsa. Ja natomiast pytam pod kątem delphi czy może macie jakiś inny pomysł na wersjonowanie niż te MAJOR/MINOR/RELEASE/BUILD wersje
KA
  • Rejestracja:prawie 20 lat
  • Ostatnio:minuta
  • Lokalizacja:Gorlice
1

Jeszcze możesz sprawdzić dodając podobny klucz HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\PropertySystem\PropertyHandlers\.bpl chodzi o to WOW6432Node ale u mnie NIE działa przynajmniej bez restartu a nie chce mi się restartować kompa, bo mam za dużo pootwierane.


Nie odpowiadam na PW w sprawie pomocy programistycznej.
Pytania zadawaj na forum, bo:
od tego ono jest ;) | celowo nie zawracasz gitary | przeczyta to więcej osób a więc większe szanse że ktoś pomoże.
woolfik
Niestety dodanie tego do tej gałęzi oraz restart nie pomogły :(
Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 22 godziny
  • Postów:2094
1

Jakoś mnie ten wbudowany system nie przekonywał wolałem generować szablonem odpowiedni pliki zasobów i dodać to do "Build events==> pre-build"
Jako numer build używałem wersji z SVN aby powiązać exe z systemem kontroli wersji


--
Nie przyjmuję reklamacji za moje rady, używasz na własną odpowiedzialność.
Programowanie bez formatowania to jak chodzenie ze spodniami spuszczonymi na kostki. Owszem da się ale po pierwsze nie wygodne, po drugie nieprzyzwoicie wygląda.
Przed zaczęciem nowego wątku przeczytam problem XY
woolfik
idealne rozwiązanie przy nowszych delphi. Ja docelowo muszę to uruchomić na delphi 5 ;(
Marius.Maximus
  • Rejestracja:ponad 14 lat
  • Ostatnio:około 22 godziny
  • Postów:2094
1

Ja bym powiedział ze wersja Delphi nie ma znaczenia bo możesz bat uruchomić poza IDE i tez zadziała , wersje do dystrybucji to i tak najlepiej budować skryptem a nie z IDE

plik BAT który generuje wszystko

Kopiuj
"C:\Program Files\TortoiseSVN\bin\subwcrev.exe" ../ svn_revision.tmpl svn_revision.pas
"C:\Program Files\TortoiseSVN\bin\subwcrev.exe" ../ zasoby.tmpl zasoby.rc
"C:\Program Files (x86)\Embarcadero\RAD Studio\7.0\bin\BRCC32.exe"  zasoby.rc

plik svn_revision.tmpl

Kopiuj
unit SVN_REVISION;

interface
const
  SVN_WCREV= '$WCREV$';
  SVN_WCDATE= '$WCDATE$';
  SVN_WCNOW= '$WCNOW$';


implementation

end.

plik zasoby.tmpl

Kopiuj
1 VERSIONINFO
        FILEVERSION 1,0,0,$WCREV$
        PRODUCTVERSION 1,0,0,$WCREV$
        FILEOS VOS__WINDOWS32
        FILETYPE VFT_APP
        BEGIN
            BLOCK "StringFileInfo"
            BEGIN
                BLOCK "040904E4"
                BEGIN
                    VALUE "CompanyName", "NAZWA\000"
                    VALUE "FileDescription", "AAA system\000"
                    VALUE "FileVersion", "$WCNOW$\000"
                    VALUE "InternalName", "Your Internal name\000"
                    VALUE "LegalCopyright", "Your Legal Copyright\000"
                    VALUE "LegalTrademarks", "SVN_WCNOW= $WCNOW$\000"
                    VALUE "OriginalFilename", "GUI.exe\000"
                    VALUE "ProductName", "Your Product Name\000"
                    VALUE "ProductVersion", "SVN_WCREV= $WCREV$\000"
                    VALUE "Comments", "aaaa\000"
                END
            END

            BLOCK "VarFileInfo"
            BEGIN
                VALUE "Translation", 0x0415 0x0415
            END
        END

Tego automatycznie zwiększanego numeru najbardziej brakuje mi w GIT :)


--
Nie przyjmuję reklamacji za moje rady, używasz na własną odpowiedzialność.
Programowanie bez formatowania to jak chodzenie ze spodniami spuszczonymi na kostki. Owszem da się ale po pierwsze nie wygodne, po drugie nieprzyzwoicie wygląda.
Przed zaczęciem nowego wątku przeczytam problem XY
edytowany 2x, ostatnio: Marius.Maximus

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.