Не отображается ссылка на программу в меню "Все программы"
У меня своя программа(написана мною)
Записываю в реестр пути деинсталяции. Деинсталятор тоже самописный и срабатывает все отлично Решил прописать ссылку на деинсталятор в меню Все программы. Создаю ссылку и помещаю(программно) её в C:\ProgramData\Microsoft\Windows\Start Menu\Programs Вот все работает, только этот ярлык не отображается в меню Все программы. В ярлыке указано все как обычно - объект, рабочая директория и так далее. Программа работает от имени администратора Пишу на AutoIT Система win 10. Работает хорошо. проблем с установкой софта нет. |
Цитата:
|
Iska, ))))
Код:
$gtprname - произвольное имя, которое вводит пользователь |
Цитата:
|
и после перезагрузки то же самое
делаю установку, появляется в меню Все программы ссылка Имя программы(папка)->ссылка на файл. кликаешь, папка раскрывается, вижу ссылку на файл и через пару секунд происходит обновление списка и все это исчезает. все остальные программы в списке присутствует. с оптимизацией системы не балуюсь. |
так и не нашел в чем проблема. ограничился созданием ярлыка без папки
|
asds1, такой вариант бывает.
|
возможно, но не думаю. естественно, я определяю пути к файлу запуска и рабочей директории в ярлыке.
даже файлов таких больше нет(по имени). я говорю за тесты в своей системе. понимаю, что были бы баги у пользователей. скидывал для теста знакомому, тот тоже описал эту же проблема. в чем суть то. ярлык без папки создается и все работает, а вот папку создаю а в ней ярлык - проявляется проблема. Не подходящее имя папки? Пробовал и ru и en разницы нет можно без папки(что и сделал), но как-то не камильфо хочу постепенно свой проект перевести в универсальный инсталятор, а тут такой косячок на пути ))) |
asds1, не думали использовать не самописный инсталлятор, а какой-нибудь WiX, InnoSetup или NSIS?
|
asds1, сделайте лог Process Monitor следующим образом:
|
Цитата:
Цитата:
|
Не вижу, в чём тут альтернатива, кроме возникшей проблемы.
asds1, Вы можете оставить свою оболочку ровно такой же, но делать готовую инсталляцию, например, под тот же InnoSetup, благо сборка им вполне может делаться программно: Inno Setup Help - Command Line Compiler Execution. И никому изучать кодирование (кроме Вас) не понадобится. |
Iska, не важно на чем кодировать, проблем все равно не избежать. Даже благоприятная среда кодирования не сделает код за тебя )
В AutoIT я вижу достаточно инструментов, чтобы делать свой проект Установка деинсталятора это мелочь, просто не люблю оставлять не решенных задач Теперь о самой проблеме. Запустил "трудный" код создания папки+ярлыка деинсталятора - сейчас все работает норм. никуда не исчезает ничего. перегружал систему, в меню Все приложения ярлык есть сделал, правда, незначительное дополнение, но на суть оно не должно было повлиять далее конкретная часть регистрации деинсталяции в системе Код:
$unmod = @ProgramFilesDir & '\' & $gtprname Спасибо всем за помощь советами |
Цитата:
Цитата:
Цитата:
Цитата:
|
история повторилась. сделал лог из PM
ссылка не виден ярлык - Удалить ModPack World of Tanks ver.0.9.19.0.2.lnk расположение ярлыка - C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ModPack World of Tanks ver.0.9.19.0.2\Удалить ModPack World of Tanks ver.0.9.19.0.2.lnk |
asds1, в этом логе нет обращений к Start Menu.
|
сделал еще раз
скачать |
примерно так выходит.
если создание папки в Start Menu идет после записи деинсталяции в реестр, то наблюдаю описанную проблему с исчезновением ярлыка если сначала создаю ярлык в собственной папке по адресу C:\ProgramData\Microsoft\Windows\Start Menu\Programs, а потом уже пишу в реестр, то ярлык не исчезает. не могу уловить взаимосвязи очередности создания папки и записи в реестр. конечно же, указанная очередность работает, но вот почему так, не могу понять. |
Время: 17:53. |
Время: 17:53.
© OSzone.net 2001-