Dlaczego te polecenie nie działa na VISTA/7 ?

0

Witam.

Mam problem: stworzyłem sobie takie oto polecenie:

FOR /F "tokens=2* delims=	" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRar.exe" /v "Path"') DO SET WinRarInstallDir=%%B
xcopy *.* "%WinRarInstallDir%" /y /q /e

XP: wszystko śmiga, za parametr kopiowania bierze sobie ścieżkę z rejestru i pliki sa kopiowane

VISTA/7: Odpalam w linii poleceń i mam takie coś:

FOR /F "tokens=2* delims=" %%A IN ('REG QUERY "HKEY_LOCAL_MACHINE
\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRar.exe" /v "Path"') DO
SET WinRarInstallDir=%%B
W tym momencie %%A było nieoczekiwane.

Nie muszę dodawać, że to mi rozwala wszystko, bo ta cześć skryptu musi działać zarówno na XP jak i na VISTA/7.

Proszę o pomoc doświadczone grono użytkowników.

1

bo pod V/7 nie masz dostępu do gałęzi HKLM

0

Czy jest jakiś sposób żeby na VISTA/7 dostać ścieżkę z katalogiem instalacyjnym ? Dam komuś 4 litry Coca-Coli (10zł) jeżeli ktoś pomoże mi w obejściu tego problemu.

1

spróbuj odpalać skrypt z uprawnieniami administratora (od czasu Visty nie wystarczy być administratorem…)

0

Tak, tylko jak to zrobić, skoro już się odpaliło bat ? Bat jest uruchamiany z WinRar Self-Extracted Archive: mamy tam opcję "Żądaj uprawnień administratora" ale to działa tylko dla samego SFX Rar'a a nie dla tego, co jest wypakowane i uruchomione :/ Ech, czeka mnie ciężka noc ...

1

A musisz tworzyć archiwum z WinRAR'em? Może warto sprobowac NSIS'a albo Inno Setup? Na pewno NSIS pozwala wymusić uruchomienie siebie na prawach admina, a dzięki językowi skryptowemu pobierzesz sobie z rejestru to co potrzebujesz. Wiadomo exek z dużą ilością różnych plików będzie ciutke większy niż archiwum SFX WinRAR'a, ale po kompresji lzma powinno być ok. NSIS posiada bogatą dokumentację również cxęśćiowo przetłumaczoną na Polski, a do tego masę przykładowych skryptów. Instalator jest limitowany do rozmiaru 2 GB, to powinno Tobie wystarczyć. Jak nie to doradzają podzielić instalację na małe instalatory i użycie zewnętrznych plików. A wiele plików do archiwum dołączysz na przykład poleceniem: Przykładowy program instalacyjny jaki bardzo łatwo zrobilęm NSIS'em masz na http://olesio.eu/fb ale można tworzyć bardziej złożone instalatory oczywiście.
File "D:\COSIK\*"

0

Niestety ja muszę użyć WinRar'a, który to po odpakowaniu do tempa uruchomi mi to powyżej bo takie archiwum SFX można edytować: wystarczy do katalogów dodać pliki, i już mamy gotowy "Instalator kopiujący wszystko tam gdzie jest zainstalowany program". A ścieżka musi być brana z rejestru bo ustalać ją sztywno na C:\Program Files\Cośtam to amatorka nie do pomyślenia :/

0

Może zainteresuj się InnoSetup, tak samo prosto jak WinRar wystarczy kliknąć rebuild.
Odpalisz co chcesz w dowolnym trybie.

0

Wspominałem wyżej, że plików Inno nie da się "Otworzyć, wrzucić pliki i mam gotowy instalator" a to własnie jest konieczne :/

0

Taaaa, "jest konieczne wrzucić pliki i masz gotowy instalator" tylko że zapomniałeś o kilku godzinach walki z uruchomieniem tego co zainstalowałeś tym gotowym instalatorem.
A do Inno dopisz sobie batch'a który początek weźmie z jednego pliku koniec z drugiego a środek wypełni plikami z podanego folderu (z odpowiednimi przedrostkami i przyrostkami) po czym odpali reduild inno.

1 użytkowników online, w tym zalogowanych: 0, gości: 1