Цитата otsheln1k:
внесу поправку в анонс сборки - тестировалась на XP SP3. »
|
То есть для семерки исправлений делаться не будет? Хорошо, сделаю отдельно, или перепакую архив, если ума хватит.
Есть желание помочь в переделывании для совместимости с х64? Вроде проблема не в семерке, а именно в 64 битах (на ХР х64 тоже должно работать некорректно, а на vista/7 x86 должно быть нормально). Я распаковал архив и попробовал разобраться в файле install.cmd. Проблемные строки (в смысле установки на х64):
1)
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v OOo_q /t reg_sz /d "\"%ProgramFiles%\OpenOffice.org 3\program\quickstart.exe\"" /f
Здесь в х64 по идее должно быть %ProgramFiles(x86)%
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run" /v OOo_q /t reg_sz /d "\"%ProgramFiles(x86)%\OpenOffice.org 3\program\quickstart.exe\"" /f
Однако на самом деле создается именно так, как если бы написали мой вариант (видимо, винда сама перенаправляет в нужную ветку реестра), так что будем считать, что с этой строкой все в порядке. Только есть одно наблюдение: остальные пути в этой ветке реестра без внешних кавычек. Кавычки снаружи точно нужны?
2)
set "key=hklm\software\OpenOffice.org\UNO\InstallPath"
Здесь в х64 должно быть
set "key=hklm\software\Wow6432Node\OpenOffice.org\UNO\InstallPath". Однако и с этим изменением после поиска FOR-ом переменная %OOInstallPath% оказывается пустой строкой. Тут я не понимаю, почему это происходит. Правда я не разбираюсь в синтаксисе этой строки:
FOR /F "usebackq tokens=3 delims= " %%i IN (`reg query "%key%" /s ^| findstr /i /c:"%param%"`)
3) Везде вместо
HKLM\SOFTWARE\JavaSoft в х64 должно быть
HKLM\SOFTWARE\Wow6432Node\JavaSoft
P.S. Странно, проверил на 32-битной семерке- не отключается регистрация.