2014-01-28 50 views
0

我正在C#中開發一個控制檯應用程序,每個應該只在特定的一天/時間運行一次。當我修改,發佈和安裝應用程序時,安裝程​​序始終運行該程序。我必須在代碼的開頭添加一個if語句,以比較當我重新編譯/重新發布時必須手動更改的當前日期/時間,以確保程序在安裝新版本時不會運行。雖然這有效,但要做到這一點似乎很愚蠢。如何讓我的C#程序在安裝時不會運行?

我確定我錯過了一個明顯的設置,我只是在等待一些英雄給我我的頭 - 一天的時刻。

謝謝!

(編輯,以更準確地描述了日程。)

+0

建議他將是非常具體的時間,每天運行?決定現在是否合適的邏輯是什麼? – Vadim

+0

我想你正在尋找'Windows服務'應用程序。在這裏閱讀更多 - > http://msdn.microsoft.com/en-us/library/d56de412%28v=vs.110%29.aspx – prograshid

+0

所以你說你的安裝程序自動運行程序?像「完成時運行」選項一樣?可能有助於瞭解你如何創建你的安裝程序,有沒有想過像「完成後運行」設置你可以改變? – musefan

回答

2

如果你的問題是無法控制是否安裝或發佈過程將運行程序 - 你可以有你的主要指望一個特定的命令行參數來運行,沒有它 - 它會簡單地退出。

如果程序通過調度程序運行,請讓調度程序傳入正確的參數。

例如

public static void Main(string[] args) 
{ 
    if (args.Length == 1 && args[0].Equals("NOW_IS_THE_TIME")) 
    { 
     // Run 
    } 
} 

你也可以,保存你的設置一個標誌,指示,如果是第一次運行與否,就像Install ClickOnce without running

+0

儘管這個解決方案比我目前所做的更好,但它仍然很糟糕。我只想讓安裝程序安裝應用程序而不運行它。 –

+0

@MarkPetereit - 我同意,但那麼你的問題應該圍繞你正在使用的特定安裝\發佈過程。就像我說的 - 這是你不控制Install \ Publish – Vadim

+0

的理由。您的解決方案不能回答我的問題。 –

相關問題