Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 15
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата Сrack:
arman29, В поле "Включать установку" можно указать только одно приложение. Эта тема уже обсуждалась. Во первых я против "скрытого" массового выбора без уведомления об этом пользователя; во вторых логика существенно усложняется и при определенных ситуациях (в зависимости от фантазии пользователя) возможно зацикливание кода в результате торможение и даже зависание; в третьих нет желания потом видеть негативные отзывы типа: программа глючит (самопроизвольно выбирает) или программа тормозит и зависает. »
Если честно сказать, то ваше приложение уже давно переплюнуло уровень "для чайников". Большинство людей, создающих сборки, более-менее опытны в этом деле, т.е. они умеют пользоваться BAT/VBS скриптами. Либо можно разделить ваш продукт: для чайников - Free-версия с ограниченным функционалом и кол-вом пунктов и платную версию. За счет платной версии у вас будет дополнительный заработок и в принципе ей будут пользоваться профессионалы своего дела, которые знают за что платят деньги

Цитата Сrack:
arman29, Проверка наличия установленных приложений создавалась с одной целью, проверить корректность установки, т.к. при массовой автоматической установки все ошибки и предупреждения как правило игнорируются (подавляются) оригинальными инсталляторами, бывает программа не устанавливается из-за отсутствия чего либо, из-за несовместимости с текущей системой, или просто ей чего то не понравилось. Так вот за каждый такой косяк, меня на работе премии лишают. Проверять можно либо через GUID либо по наличию файла, что то одно, при этом можно два GUID указать, этого более чем достаточно для поставленной задачи. Для поиска ранее установленных приложений нет универсального решения, слишком много вариантов, и GUID у разных версий разный и путь может быть другой. »
вы меня совершенно не поняли. я вас хотел информировать о том, что в строке "Уникальный идентификатор (GUID)" одновременно GUID и $path не работают

Цитата Сrack:
Поддержки *.msp в программе нет, все незнакомые (не поддерживаемые) расширения открываются через ассоциированное приложение без ожидания завершения. Можно добавить поддержку, только сейчас на работе аврал»
за временное решение отдельное спасибо

Нашел баг: при установке с сетевой шары BAT-файла с кодом (ТЗ в этой теме - http://forum.oszone.net/thread-292716.html), строчки начиная с "rem Installing Java x86/x64 v8.25" не хотят считываться, программа ругается, что файла "jre-8u25-windows-x64.exe/jre-8u25-windows-x86.exe" не существует и MInsAll тормозит. Выяснилось, что программа пытается их найти в папке %TEMP% и установить оттуда, а на самом деле они лежат там, где и скрипт. Если же данный скрипт запустить в локальной версии MInstAll либо отдельно запустить, то все пройдет как по маслу. Временное решение из этой ситуации нашел: поставил галочку напротив пункта "Копировать все файлы во временную папку". Хотя по идее скрипт должен отрабатываться вне зависимости расположения: то ли он будет локально, то ли на сетевой шаре

Код: Выделить весь код
@ECHO OFF

REM Killing all processes and services
net stop JavaQuickStarterService
taskkill /F /IM iexplore.exe /T
taskkill /F /IM jqs.exe /T
taskkill /F /IM jucheck.exe /T
taskkill /F /IM javaw.exe /T

REM ============ Java Deletion ============
REM Сохранение в файл идентификаторов (GUID) установленных пакетов Java в формате установщика Windows Installer
SET Query=name like 'Java 7%%' OR name like 'Java(TM) 6%%' OR name like 'J2SE Runtime Environment%%' OR name like 'Java 2 Runtime Environment%%' OR name like 'Java Auto Updater%%'
wmic product where "%Query%" get IdentifyingNumber > "%TEMP%\delJava_1.txt"

REM Сохранение только GUID пакетов во второй файл
TYPE "%TEMP%\delJava_1.txt" | FINDSTR {........-....-....-....-............} > "%TEMP%\delJava_2.txt"

REM Цикл удаления пакетов
FOR /f "tokens=*" %%a IN (%TEMP%\delJava_2.txt) DO (msiexec /x %%a /qn /norestart)

REM Удаление временных файлов
IF EXIST "%TEMP%\delJava_1.txt" DEL "%TEMP%\delJava_1.txt"
IF EXIST "%TEMP%\delJava_2.txt" DEL "%TEMP%\delJava_2.txt"

rem Installing Java x86/x64 v8.25
IF EXIST "C:\Program Files (x86)" (
start /wait .\jre-8u25-windows-x64.exe /s /norestart
) ELSE (
start /wait .\jre-8u25-windows-x86.exe /s /norestart
)
EXIT

Отправлено: 17:18, 18-12-2014 | #857