0

所以我的程序中有一個OPC-DA服務器。當用戶第一次運行程序或(甚至更好)安裝程序時,我只需要運行一行代碼:myServer.registerServer;。同樣,當他們想要卸載程序時,它應該運行相反的命令:myserver.unregisterServer如何在安裝時註冊服務器,然後在卸載時取消註冊?

現在我猜測要做到這一點我將不得不做一些命令行參數?也許檢查通過的價值是否等於某事,然後如果是這樣我可以相應地註冊/取消註冊。然後,如果傳遞的值不匹配,它就像正常一樣繼續我的程序。問題是,我不太清楚如何將其應用到我正在使用的安裝程序中。說到,我正在使用Visual Studio安裝程序並使用其「安裝項目」項目。我可以要求做什麼,或者我需要做一個單獨的安裝程序。我從來沒有做過這樣的事情,所以你們所擁有的任何信息都非常感謝。

+0

更好地使用Windows Installer XML爲您的應用程序創建.msi - 這比創建安裝項目更簡單。要執行OPC-DA安裝,您可以使用自定義操作(http://wixtoolset.org/documentation/manual/v3/xsd/wix/customaction.html)。對於簡單的解決方案 - 您可以使用外部配置文件或Windows註冊表來存儲將指示應用程序是否已在之前啓動並且您的OPC-DA已註冊的值。 – VitaliyK

回答

0

用Visual Studio安裝程序執行此操作的方式是,使用註冊該程序的命令行將程序作爲安裝自定義操作運行,並使用取消註冊的命令行卸載自定義操作。

理想情況下,你根本不會運行該程序。許多(如果不是大多數)安裝程序知道所需的註冊表項是什麼,並將它們添加到註冊表項(在Visual Studio中),它們位於IDE的註冊表視圖中。這些數據通常是靜態的,可以在不運行代碼的情況下添加到系統中。