Как зарегистрировать сервер при установке, а затем отменить регистрацию при удалении?

Итак, в моей программе есть сервер OPC-DA. Когда пользователь впервые запускает программу или (что еще лучше) устанавливает программу, я хочу, чтобы была запущена только одна строка кода: myServer.registerServer;. И точно так же, когда они хотят удалить программу, она должна запустить противоположную команду: myserver.unregisterServer.

Теперь я предполагаю, что для этого мне нужно будет что-то сделать с аргументом командной строки? возможно, проверьте, соответствует ли переданное значение чему-либо, а затем, если да, я могу зарегистрировать / отменить регистрацию соответственно. Затем, если переданное значение не совпадает ни с одним, он просто продолжает мою программу, как обычно. Проблема в том, что я не совсем уверен, как использовать это в установщике, который я использую. Кстати, я использую установщик Visual Studio и их проект «Setup Project». Можно ли с этим сделать то, о чем я прошу, или мне нужно сделать отдельный установщик. Мне никогда не приходилось делать ничего подобного, поэтому я очень ценю любую информацию, которой вы располагаете.


person J.Doe    schedule 29.11.2016    source источник
comment
Лучше использовать XML установщика Windows для создания файла .msi для вашего приложения - это проще, чем создавать проект установки. Для выполнения установки OPC-DA вы можете использовать настраиваемые действия (wixtoolset. org / documentation / manual / v3 / xsd / wix /). Для простого решения - вы можете использовать внешний файл конфигурации или реестр Windows для хранения значения, которое будет указывать, было ли приложение уже запущено ранее и был ли зарегистрирован ваш OPC-DA.   -  person VitaliyK    schedule 29.11.2016


Ответы (1)


То, как вы сделаете это с помощью установки Visual Studio, - это запустить программу как настраиваемое действие установки с помощью командной строки, которая его регистрирует, и как настраиваемое действие удаления с помощью командной строки, которая отменяет его регистрацию.

В идеале вы бы вообще не запускали программу. Многие (если не большинство) программ установки знают, что такое необходимые записи реестра, и добавляют их в записи реестра, которые (в случае Visual Studio) находятся в представлении реестра в среде IDE. Эти данные обычно всегда статичны и могут быть добавлены в систему без запуска кода.

person PhilDW    schedule 29.11.2016