Вход на сайт
Uninstall in Setup project VS2005
226 просмотров
Перейти к просмотру всей ветки
в ответ viger2 09.08.09 23:43
В ответ на:
всем привет! в VS2005 есть так называемый Setup project при помощи которого можно создать инсталяционную программку.
всем привет! в VS2005 есть так называемый Setup project при помощи которого можно создать инсталяционную программку.
Если нужна какая-то мелкая инстоляшка, то вполне пойдет. Если надо что-то больше, чем просто скопировать файлы, то используй либо InstallShield (стоит бабок), либо WiX (бесплатно).
В ответ на:
к сожалению там нет возможности прямо создать деинсталлационку. но можно прикрепить .bat с msiexec /x {бля бля бля}
к сожалению там нет возможности прямо создать деинсталлационку. но можно прикрепить .bat с msiexec /x {бля бля бля}
В этом мне совсем не верится :)
Во-певых, есть ARP (Add/Remove Programs). И если ты умышлено не выключил создание записи в ARP (ARPSYSTEMCOMPONENT) и/или не выключил кнопку Remove (ARPNOREMOVE), то удалить можно и без танцев с батником. Кстати этот {бля бля бля} - это ProductCode, который в следующей версии будет другой -> должен быть другой батник :) А т.к. батник - это просто текстовый файл без версии, то при minor upgrade'е у тебя еще добавится танцев с бубном :)
В ответ на:
Вроде работает нормально, но если в директории где была аппликация останутся файлы которых небыло
в самой инсталяции то этот орднер остается жить.
Вроде работает нормально, но если в директории где была аппликация останутся файлы которых небыло
в самой инсталяции то этот орднер остается жить.
Это технология msi, собтвенно говоря все правильно. Если инсталлер не скопировал/создал какой-то файл/запись в реесте, то он и не будет его удалять. Для этого есть таблица RemoveFile/RemoveRegistry и соответствующие экшены.
Вообще - создавать какие-то файлы в папке инстоляции - некошерно :) Хотябы только из-за того, что на Висте и Windows 7 доступ к Program Files разрешен только админам ;) Так что надо бы еще раз продумать что и куда писать.
В ответ на:
Как его можно автоматически убить вместе с оставшимся содержимым? у msiexec вроде нет такой опции...
Как его можно автоматически убить вместе с оставшимся содержимым? у msiexec вроде нет такой опции...
Есть несколько вариантов:
1) Как я уже говорил, используй таблицы RemoveFile/RemoveRegistry и соответствующие экшены
2) Удалять свой мусор в кастом экшене
3) Всязь архитектора за яйца и вместе с ним прочитать книжку по msi :) И довести до его сведения, что во время работы программа не должна ничего писать в Program Files, для этого есть %appdata%.