У меня есть приложение clickonce. Мне нужно зарегистрировать COM видимую DLL для этого приложения. Я использовал регистрацию в коде этого приложения, которое проверяет, было ли это уже зарегистрировано и регистрирует его методом класса RegisterServices RegisterAssembly(). Он отлично работает, если он был запущен администратором. Но я не могу требовать прав администратора для развертывания приложения clickonce. Второй способ, которым я пытался зарегистрироваться, является предварительным условием для моего клика, который потребует администратора и зарегистрирует мою dll. Я создал продукт манифеста для моего обязательного условия применения, но я получил сообщение об ошибке во время развертывания ClickOnceПрикладное развертывание ClickOnce и регистрация COM-библиотеки .NET COM
"Setup has detected that the file '...' has either changed since it was initially published or may be corrupt."
Я понял, что это проблема .NET 4.5 и я должен подписать мою предпосылку. Я подписал его и снова сгенерировал манифест Bootstrapper. После этого я получил следующее сообщение об ошибке во время развертывания:
"File not trusted Error: Setup has detected that the publisher of file cannot be verified"
я должен был установить сертификат на целевой машине, прежде чем я смог успешно развернуть мой ClickOnce. Но установить сертификат перед установкой clickonce на всех целевых компьютерах не удастся. Есть ли у кого-нибудь идеи, как решить эту проблему? Заранее спасибо.
[ComVisible] сборки совершенно несовместимы с ClickOnce. Точка CO - это то, что вы не вносите никаких изменений в конфигурацию машины. Этот вопрос в противном случае имеет мало смысла, кажется, что вы используете .NET-компонент, который является [ComVisible] в приложении .NET. Не делайте этого, просто добавьте ссылку. –
Ханс, мне нужно использовать CO, поэтому я не могу просто добавить ссылку. – Maksidrom
Подписываете ли вы приложение с сертификатом из CA, например VeriSign, или сгенерированным VS? – RobinDotNet