В проекте установки Visual Studio, Как я генерирую сценарий удаления?

Я не знаю о специфических особенностях, из которой модели Sony Vaio это будет работать на, но кажется, что этим вопросом может быть дубликат этот вопрос , который имеет по крайней мере один ответ для некоторых моделей Sony Vaio.

27
задан Cheeso 23 August 2018 в 23:49
поделиться

3 ответа

Это сценарий, который я написал, который создает uninstall.cmd. Он запускается как настраиваемое действие во время установки.

var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");

var parameters = Session.Property("CustomActionData").split("|"); 
var targetDir = parameters[0];
var productCode = parameters[1];

ts = fso.OpenTextFile(targetDir + "uninstall.cmd", ForWriting, true);

ts.WriteLine("@echo off");
ts.WriteLine("goto START");
ts.WriteLine("=======================================================");
ts.WriteBlankLines(1);
ts.WriteLine(" Uninstall.cmd");
ts.WriteBlankLines(1);
ts.WriteLine("=======================================================");
ts.WriteBlankLines(1);
ts.WriteLine(":START");
ts.WriteLine("@REM The uuid is the 'ProductCode' in the Visual Studio setup project");
ts.WriteLine("%windir%\\system32\\msiexec /x " + productCode);
ts.WriteBlankLines(1);
ts.Close();

Результатом является cmd-файл, в котором всегда есть текущий ProductCode.

Обратной стороной этого является то, что? сценарий, создающий uninstall.cmd , остается в каталоге установки. Не большая проблема, но мне не нравится мусор в установочном каталоге. Я еще не пытался сделать "createInstaller.js" самоудалением. Это может сработать.

РЕДАКТИРОВАТЬ : да, самоудаление createInstaller.js работает нормально.

Я приму свой ответ!

Обратной стороной является то, что? сценарий, создающий uninstall.cmd , остается в каталоге установки. Не большая проблема, но мне не нравится мусор в каталоге установки. Я еще не пытался сделать "createInstaller.js" самоудалением. Это может сработать.

РЕДАКТИРОВАТЬ : да, самоудаление createInstaller.js работает нормально.

Я приму свой ответ!

Обратной стороной этого является то, что? сценарий, создающий uninstall.cmd , остается в каталоге установки. Не большая проблема, но мне не нравится мусор в каталоге установки. Я еще не пытался сделать "createInstaller.js" самоудалением. Это может сработать.

РЕДАКТИРОВАТЬ : да, самоудаление createInstaller.js работает нормально.

Я приму свой ответ!

4
ответ дан 28 November 2019 в 04:16
поделиться

Я нашел это решение здесь

«Используя Visual Studio 2005/2008, вам не нужно писать какой-либо код, чтобы добавить параметр удаления для проект установки (да, я знаю, что некоторые люди могут написать код для этого)

1) В проекте установки -> окна файловой системы -> щелкните правой кнопкой мыши «Файловая система на целевой машине» -> добавьте специальную папку, выберите «Система» Папка;

2) В эту системную папку Добавьте файл. Найдите файл msiexec.exe в локальной папке System32 и добавьте его. Переопределите свойства этого файла по умолчанию следующим образом:

Условие: = Не установлено (убедитесь, что вы поместили «Не установлено» точно так же, тот же случай и все такое), Постоянно: = True, Система: = Истина, Переходный: = True, Жизненно важно: = False.

3) Создайте новый ярлык в «Меню пользовательских программ», установите в качестве цели системную папку, созданную на шаге 1., и укажите его на msiexec.exe. Переименуйте ярлык в «Удалить ваше приложение». Установите для свойства Arguments значение /x{space}[ProductCode sizes.

4) Создайте проект, игнорируйте предупреждение о том, что msiexec следует исключить, НЕ исключайте его, иначе проект установки не будет построен.

'Not Установлено 'и Permananet: = True убедитесь, что файл msiexec.exe помещается в системную папку только как часть установки, ЕСЛИ он не существует, и не удаляется при удалении - поэтому довольно безопасно игнорируйте это предупреждение и просто действуйте.

(На основе описания SlapHead) "

65
ответ дан 28 November 2019 в 04:16
поделиться

Для удаления приложения я бы использовал [ProductCode] в качестве параметра, вызывая msiexec из самого приложения. Подробное руководство по созданию деинсталлятора можно найти в этом блоге: http://endofstream. com/creating-uninstaller-in-a-visual-studio-project/

1
ответ дан 28 November 2019 в 04:16
поделиться
Другие вопросы по тегам:

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