2012-10-03 39 views
1

我正在使用Visual Studio 2010 IDE在Windows窗體應用程序上工作。我的需求是,我需要在應用程序啓動時只運行一次代碼塊,並且在整個生命週期中再也不會運行一次代碼塊(在生命週期中,我的意思是永遠不會在同一系統上運行,除非系統重新配置)。我已經將該代碼放在一個單獨的.cs文件中,現在爲了測試目的我手動運行它的程序集(.exe)。但爲了部署目的,我該如何解決它?它包含通過命令提示符使用schtasks命令創建計劃任務的代碼。我知道有相同的解決方法,但我需要堅持schtasks的方法。我知道有一些像Setup Projects這樣的東西可以幫助我們配置安裝我們項目所需的所有文件,並且最終創建一個安裝文件,但是我可以在其中編寫一些代碼以確保它在運行時運行一次,在我的應用程序執行之前?在整個Windows Forms Application Lifetime中只運行一次

+0

單例模式,在應用程序中只創建一個實例,也是線程安全的。嘗試實施該模式。這不是一個解決方案。如果你可以粘貼代碼,我們會想出一些想法! – madhairsilence

+0

@madhairsilence:Singleton Pattern在這裏沒用。 OP不想創建單個實例。 OP不想在系統上執行一次例程,然後再也不會再執行(除非系統重新配置)。 –

+0

什麼是創建實例的意思。調用構造函數。他不能在構造函數中放置代碼,使其變爲私有,實例化靜態變量內聯? – madhairsilence

回答

4

是的,您可以讓安裝程序和部署軟件包在安裝過程中運行exe文件。您將不得不在設置中創建自定義操作來執行此操作。

+0

你能詳細解釋一下嗎?也許是一個鏈接?我認爲這是我正在尋找的。 –

+0

[link](http://msdn.microsoft.com/en-us/library/d9k65z2d(v = vs.80).aspx)[link](http://www.codeproject.com/Articles/335516/ Custom-Action-in-Visual-Studio-setup-projects) - 只是Google的「visual studio setup and deployment custom action」。 – Kevin

+0

非常感謝! :-) –