Показать полную графическую версию : SFX Creator 4 Alpha - создаём SFX архивы
TranscendFree, Извините, что вмешиваюсь... Может быть не раскрывается переменная $SMPROGRAMS, как надо. Попробуйте использовать абсолютные пути. У меня семерка игнорирует переменную $%PROGRAMDATA%...
TranscendFree
29-01-2013, 13:06
Вот нашел http://denglad.blogspot.ru/2009/12/nsis.html может быть в этом дело?
Salmo, да не, все нормально с переменной $SMPROGRAMS. Дело именно в win7
может быть в этом дело? »
Очень похоже, удаляется то, на что есть права. Что юзер ставил, то и может удалить.... попробуйте.
Когда планируется новая версия, а то автор аттачил много фиксов и патчей.
TranscendFree
29-01-2013, 14:02
попробуйте »
рад бы но как?
рад бы но как? »
TranscendFree, Попробуйте лично для меня... Если Вы еще не разбомбили Унинсталлер, сделайте вот что: включите UAC и запустите Унинсталлер через контекстное меню правой кнопки мыши от имени Админа, - удалятся ярлыки?
TranscendFree
29-01-2013, 14:48
включите UAC и запустите Унинсталлер через контекстное меню правой кнопки мыши от имени Админа »
делал, но с отключенным UAC, т.к. та программа которая устанавливается, работает только с отключенным UAC.
Вот нашел http://denglad.blogspot.ru/2009/12/nsis.html может быть в этом дело? »
Если дело в этом, то эта настройка может быть установлена в SFX Creator
А точнее "Управление проектами => Необходимые привилегии для установки (Manifest)" установить выпадающий список в "Пользователь"
Попробуйте...
Вот почему у меня не возникает разных неприятных ситуаций при разработке...поэтому причину сложно отыскать, у меня на Win7 32-bit и на виртуалке Win7 64-bit всё корректно удаляет, и ярлыки и саму директорию из меню Пуск
делал, но с отключенным UAC »
Так...А вы запускаете инсталлер под обычным пользователем или под админом? Я то под админом всё тестирую...Если у вас проблемы под обычным пользователем, то создам себе пользователя и проведу тесты. Жду ответа
Когда планируется новая версия, а то автор аттачил много фиксов и патчей. »
Не знаю, честно...Пишу по-тихоньку :)
Сам если честно, уже начинаю путаться в патчах :biggrin:
Новая версия будет чуток удобнее, хотя бы потому, что исчезнет проблема, когда в системе установлено значение DPI выше стандартного (на страничке "что ожидается в новой версии" уже писал)
TranscendFree
29-01-2013, 16:06
"Управление проектами => Необходимые привилегии для установки (Manifest)" установить выпадающий список в "Пользователь" »
Пробовал не дает удалить с ярлыка.
А вы запускаете инсталлер под обычным пользователем или под админом? »
Пользователь с правами администратора в домене.
хм, тогда не знаю :(
В самом SFX Creator проблем нет, т.к. программа лишь создаёт инсталлер с помощью NSIS, а дальше уже он работает...
Попробуйте добавить команду на запись в INI файл значения переменной, переменная то правильно определяется?
Перед компиляцией проекта добавьте строчку в функцию un.UnInstallFunction
WriteINISTr "$DESKTOP\TEST.ini" "TEST" "Var_$$SMPROGRAMS" "$SMPROGRAMS"
Например:
Function un.UnInstallFunction
WriteINISTr "$DESKTOP\TEST.ini" "TEST" "Var_$$SMPROGRAMS" "$SMPROGRAMS"
Delete "$SMPROGRAMS\Программа учета\Учет.lnk"
Delete "$QUICKLAUNCH\Мой ярлык.lnk"
Delete "$INSTDIR\uninst.exe"
RMDir /r `$SMPROGRAMS\Программа учёта`
SetAutoClose true
quit
FunctionEnd
После удаления откройте на рабочем столе файл TEST.ini и посмотрите, куда ведёт у вас переменная $SMPROGRAMS
TranscendFree
31-01-2013, 09:10
K.A.V., если добавлять данную строчку в Source.nsi, то перед компиляцией проекта, этот файл сам пересохраняется (кнопку Сохранить я не нажимаю), и эта строка удаляется компилятором автоматически.
Секции Function un.UnInstallFunction в Source.nsi нет. Есть вот что (точки - код):
Function WriteUnInstallFunction
CreateDirectory "$INSTDIR"
WriteUninstaller "$INSTDIR\uninst.exe"
.
.
.
Functionend
Function un.onUninstSuccess
HideWindow
.
.
.
FunctionEnd
Function un.onInit
.
.
.
Section UnInstall
.
.
.
чуть позже...
поставил на этот файл атрибут - только чтение
получилось, вот итог:
[TEST]
Var_$SMPROGRAMS=C:\Users\cvlad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
K.A.V., если добавлять данную строчку в Source.nsi, то перед компиляцией проекта, этот файл сам пересохраняется »
Добавляете строку и НЕ запускаете компиляцию через SFX Creator, а запускаете на исполнение этот файл:
\NSIS\Compile.bat
Секции Function un.UnInstallFunction в Source.nsi нет »
Она присутствует в том случае, если вы создаёте SFX без графического интерфейса, в вашем же случае (с графическим интерфейсом) нужно добавлять команду в секцию UnInstall
TranscendFree
31-01-2013, 09:46
поставил на этот файл атрибут - только чтение
получилось, вот итог:
[TEST]
Var_$SMPROGRAMS=C:\Users\cvlad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
TranscendFree
31-01-2013, 11:26
Проблема решилась добавлением в начало секций Section -Install и Section UnInstall строки SetShellVarContext all. Удалилось всё как надо в windows 7.
На winXP немного по другому. Позже отпишу
SetShellVarContext all »
http://kalanir.blogspot.ru/2011/08/nsis-how-to-write-uninstaller.html
Тут объяснение
http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista
Всем привет!
Ещё один вопрос появился в процессе разработки функции x64-редиректа, решил чуток расширить работу с x64 ОС
Собственно, дело в чем, вот сижу и думаю...Есть у нас диалог "Добавить выполнение приложения" и, решил сделать такую возможность, как запуск EXE в зависимости от разрядности, скажем, делаем мульти-установку для 32 и 64 бита и в зависимости от битности ОС запускаем нужный EXE
Вопрос в чем, как лучше сделать:
Способ №1
Я могу добавить галочку, при отметке которой, в скрипте при компиляции будет продублирована команда на запуск указанного файла И если ОС 64-bit, то в команду к имени запускаемого файла просто будет добавлена приставка _x64
Чтобы нагляднее объяснить, вот пример. Добавляем в проект запуск EXE файла:
$TEMP\TEST.exe
Ставим заветную галочку, и при компиляции в скрипте вашего инсталлера будет создана такая логическая конструкция:
Если 64 бит ОС
запуск $TEMP\TEST_x64.exe
иначе (если 32 бит)
запуск $TEMP\TEST.exe
Способ №2
Добавляется галочка, при отметке которой указанное вами приложение будет запускаться только на 64 бит ОС
С одной стороны, так удобнее, с другой - не совсем, т.к. первый вариант более гибок при создании архива для разных разрядностей ОС
Как быть? :)
Как быть? »
Добрый день... А может сделать все наизнанку :) Многие ЕХЕ_шники, которые помещаю в пакет, запускаю независимо от битности системы. Поэтому, по-умолчанию, можно оставить так: добавлена команда на запуск ЕХЕ, значит пуск осуществляется в системе любой битности. А вот, если нужно исключить запуск в системе определенной битности, то это и отметить. Т.е., рядом поместить два чекбокса: "Запустить только в системе ... (32);(64)" Оба отмечены. Неудобно? :)
dashkakosa
08-02-2013, 04:41
подскажите как на win 7 64 правильно установить прогу? установочное окно урезанное и непонятно как принять лицензию и продолжить((
и подскажите прошу еще как с помощью этой програмульки слить 2 установщика , чтобы первый устанавливался обычно, а второй по тихому?
А вот, если нужно исключить запуск в системе определенной битности, то это и отметить. Т.е., рядом поместить два чекбокса: "Запустить только в системе ... (32);(64)" Оба отмечены. Неудобно? »
хм, может и так...не знаю, посмотрю тогда как лучше сделать :)
подскажите как на win 7 64 правильно установить прогу? установочное окно урезанное и непонятно как принять лицензию и продолжить(( »
Это у вас увеличенные шрифты в системе (Персонализация => Экран), из-за этого проблемы, в следующей версии с этим проблемы будут полностью устранены
и подскажите прошу еще как с помощью этой програмульки слить 2 установщика , чтобы первый устанавливался обычно, а второй по тихому? »
Первый вам нужно создать с "Графическим интерфейсом", меню SFX Creator => Настройка графического интерфейса
А второй создавайте без графического интерфейса, процесс распаковкий файлов будет скрытый
А так, прочтите файл справки, там есть описание настроек и диалогов программы
Сидел делал сегодня возможность создавать контрольную точку восстановления системы (с помощью плагина SysRestore plug-in (http://nsis.sourceforge.net/SysRestore_plug-in)), но почему-то на Windows XP он отказался создавать контрольную точку :(
На Windows 7 было всё прекрасно, поэтому решил, что смысла добавлять этот плагин в функционал SFX Creator нет
Завтра скорее всего будет версия 2.7, что-то так смотрю, никаких существенных изменений нет, разве что настройка редиректа и устранение проблем с увеличенным DPI в системе :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC