![](/img/trans.png)
[英]c# Visual Studio Project Installer save data from Textbox into Textfile
[英]c# Visual Studio Project Installer retrieve data from Textbox
我正在嘗試從Visual Studio Project Installer中的文本框檢索數據,但我一直失敗。 我不知道如何從EDITA2字段中檢索數據,到目前為止,互聯網似乎沒有任何答案。
我正在談論的項目是您使用上述安裝程序安裝的Windows服務。 在安裝程序中,您可以配置服務。 我想獲取諸如服務器IP和計算機名稱之類的數據,並希望稍后在運行的服務中使用此數據。 談到服務,安裝后是否有可能自動啟動服務?
總結一下,我想將安裝程序中的數據寫入文本文件,並在安裝過程完成后啟動批處理文件。 你能幫我嗎?
預先感謝您的答復。
我認為您正在搜索自定義操作
https://msdn.microsoft.com/library/d9k65z2d(v=vs.100).aspx
https://msdn.microsoft.com/en-us/library/9cdb5eda(v=vs.100).aspx
要設置服務的StartType,您需要一個ServiceInstaller
也許這可以幫助http://www.docstorus.com/viewer.aspx?code=7c7ccc28-6503-4779-877e-f350faab6741
這是“文本框”用戶界面對話框的文檔:
https://msdn.microsoft.com/en-us/library/e04k6f53(v=vs.100).aspx
標識符EDITA1(和其他標識符)是一個屬性名稱,您以后可以在(例如)自定義操作中使用它。 在不知道確切的自定義操作類型的情況下,您可能很難想到如何使用它。 通常,將其指定為自定義操作的參數[EDITA1]將導致其解析為實際值。 但是,如果您只想將值存儲在注冊表中,則可以使用值[EDITA1]創建一個注冊表項。
要在使用安裝程序類安裝服務的Visual Studio安裝程序中啟動服務,您需要覆蓋Install方法,調用base.Install(),然后添加代碼以啟動服務。 同樣,在卸載或升級時,您可以覆蓋Uninstall方法並在調用base.Uninstall()之前停止服務。
這些帖子有一些“文本框”示例:
在MSI安裝程序中從命令行覆蓋“文本框”對話框字段(Visual Studio 2010 Web安裝程序)
Visual Studio設置對於服務和UI並不是很有用。 無法在輸入時驗證用戶輸入的內容-如果使用自定義操作驗證用戶輸入的內容,則該操作將在安裝結束時進行,並且整個安裝將失敗並回滾。 Windows Installer內置了對啟動/停止/刪除/安裝服務的支持,但是VS安裝程序不使用它。 如果您定期執行此操作,則考慮使用其他工具可能會很有用,並且該工具可能會有所學習,但是生成的MSI將更加可靠且易於使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.