Если то, что вы пытаетесь сделать, - это удалить службу, которую вы написали, изнутри, и вы добавили установщик в проект, вы можете просто создать экземпляр класса Installer и вызвать Uninstall. Например, если вы перетащили установщик в службу дизайнера и назвали этот компонент "ProjectInstaller", вы можете удалить свою службу со следующим кодом:
var installer = new ProjectInstaller();
installer.Uninstall(null);
Ответ 4
Службы перечислены в реестре Windows в разделе HKLM\SYSTEM\CurrentControlSet\services. Если вы удалите ключ, соответствующий присвоенному имени службы (а не отображаемое имя, имя, под которым оно было зарегистрировано), вы получите эффективную "незарегистрированную" услугу. Вы можете сделать это программно с помощью объекта Microsoft.Win32.Registry. Для изменения записей реестра вам понадобятся разрешения CAS на исполняющем компьютере.