Как я убеждаю VS2005 msi обновить?

лет спустя, но все же полезным может быть этот cmd-скрипт. Это написано, чтобы удалить старые вещи из моего профиля, но очень просто расширить:

@echo off
@setlocal

REM Remove everything older then "/D" days (ten/10 days in our examples below)
REM BUT we can not remove directories with files in it, so we do it in two-steps ways:
REM 1st remove all files by using the command: del
REM 2nd remove all files by using the command: rd

REM cleanup %TMP%
forfiles -p "%TMP%"                   -m * /D -10 /C "cmd /c del /s/q @path > nul 2> nul"
forfiles -p "%TMP%"                   -m * /D -10 /C "cmd /c  rd /s/q @path > nul 2> nul"

REM cleanup %TEMP%
forfiles -p "%TEMP%"                  -m * /D -10 /C "cmd /c del /s/q @path > nul 2> nul"
forfiles -p "%TEMP%"                  -m * /D -10 /C "cmd /c  rd /s/q @path > nul 2> nul"

REM cleanup the Downloads folder in the current profile
forfiles -p "%USERPROFILE%\Downloads" -m * /D -10 /C "cmd /c del /s/q @path > nul 2> nul"
forfiles -p "%USERPROFILE%\Downloads" -m * /D -10 /C "cmd /c  rd /s/q @path > nul 2> nul"

@endlocal
@echo on
6
задан Mihai Limbășan 22 March 2009 в 22:07
поделиться

2 ответа

Существует несколько вещей, которые должны быть сделаны, чтобы заставить "обновления" работать с MSI, если Вы хотите автоматически удалить предыдущую версию.

Сначала некоторая справочная информация о таинственных "кодах". Существует 3 кода (GUID), связался с MSI:

  1. Код пакета - Это определяет конкретную версию установщика MSI и никогда не должно снова использоваться через сборки. Это должно всегда обновляться.
  2. Код продукта - Этот идентификатор привык к идентификатору конкретная версия приложения. Это до автора установщика для решения, когда присвоить новый код продукта.
  3. Код обновления - Это определяет приложение и не должно изменяться через, это - время жизни

Код Обновления никогда не должен изменяться. Поскольку Вы обновляете сценарий, Код продукта должен быть изменен для каждой версии. Кроме того, как Вы упомянули, необходимо ударить номер версии. Код Кода продукта и Обновления может быть найден путем выбора проекта установки и движения в Окно свойств. Код Пакета скрыт в Studio и будет всегда обновляться.

Объект, который Вы, вероятно, пропускаете, то, что также необходимо установить установку RemovePreviousVersions в Окне свойств к истинному.

8
ответ дан 8 December 2019 в 14:47
поделиться

Еще одна вещь в дополнение к ответу Мольсена (для Visual Studio 2008):

Для правильного обновления вашего основного вывода (вашего EXE!) Вы должны увеличить ВЕРСИЯ ФАЙЛА

Этот параметр можно найти в свойствах проекта: вкладка «Приложение» -> «Информация о сборке»

6
ответ дан 8 December 2019 в 14:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: