Połącz wiele archiwów 7zip bez konieczności ich dekompresji / ponownej kompresji


0

Pracuję nad systemem wdrażania niektórych niezbędnych zależności * w moim programie. Tworzę archiwa 7z przechowywane na moim serwerze dla każdej zależności. Klient sprawdza, czy archiwum dostępne na serwerze jest nowsze od ostatniej aktualizacji lokalnej kopii, a jeśli tak, kopiuje je do systemu lokalnego, zastępując dowolną poprzednią wersję zależności.

Działa to całkiem dobrze, ale mam problem. Podczas pierwszej instalacji użytkownicy pobierają główny plik wykonywalny, a następnie ten główny plik wykonywalny przechodzi i pobiera wszystkie niezbędne zależności. Prowadzi to do bólu, ponieważ użytkownik musi czekać na główny plik wykonywalny, aby pobrać zależności przy pierwszym uruchomieniu - niezbyt dobre pierwsze wprowadzenie do mojej aplikacji.

Obecnie moja aplikacja instaluje się za pomocą samorozpakowującego się archiwum 7z. Chciałbym uwzględnić zewnętrzne zależności w tym archiwum, ale natknąłem się na problem z budowaniem tego archiwum - skompresowanie wszystkich niezbędnych zależności w jednym module zajmuje dużo czasu, więc kompilacje nie są strasznie szybkie.

Wszystko to prowadzi do mojego pytania - czy można połączyć kilka archiwów 7z w jedno archiwum bez ich dekompresji / ponownej kompresji?

* Są to zależności, których z różnych powodów nie mogę bezpośrednio skompilować w mojej aplikacji. Mogę je rozpowszechniać, ale muszą pozostać odrębnymi bytami w mojej aplikacji.


Dlaczego nie przechowywać innych archiwów?
— Ignacio Vazquez-Abrams,

@ IgnacioVazquez-Abrams Jeśli cię rozumiem, to w zasadzie to robię. Archiwa zawierające zależności są mniej więcej statyczne na serwerze, mógłbym aktualizować jeden raz na trzy miesiące - po prostu, jeśli to możliwe, chciałbym połączyć zapisane zarchiwizowane zależności w głównym pliku konfiguracyjnym sfx, aby umożliwić wstępne pobieranie zawierają wszystkie niezbędne zależności.
— Sidney,

Czy przechowywanie plików poza archiwum na własnym dysku twardym stanowi problem? Jeśli nie, możesz po prostu otworzyć archiwum 7z za pomocą aplikacji GUI 7zip i przeciągnąć wszystkie pliki, aby zostały dodane do archiwum.
— LPChip

Czy mówisz, że najpierw tworzysz SFX, a potem dodajesz do niego inne archiwa?
— Ignacio Vazquez-Abrams

1
Więc zrób to wyraźnie. W przeciwnym razie kompresujesz, a nie przechowujesz.
— Ignacio Vazquez-Abrams,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.