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.

Sidney
źródło
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,