2017-07-27 62 views
1

我已經使用Visual Studio在C#中編寫了一個非常簡單的Windows窗體應用程序(我的第一個)。應用程序只顯示一個關於本地機器(本地IP,用戶名,PC名稱,域等等)的信息的對話框,就是這樣。當用戶點擊「確定」按鈕時,它結束。XP中的簡單Windows窗體應用程序和.NET框架要求

我想將應用程序部署爲直接雙擊運行的可執行文件。我已經提取了Visual Studio在項目文件夾中生成的可執行文件,並已成功在多個不同的計算機上運行它。但是,在一些使用XP的計算機上,我收到一條錯誤消息,指出它不是有效的WIN32應用程序。

我壓制的問題是.NET框架不存在或比目標版本安裝舊版本。

我的問題是,是否有可能確保應用程序在(至少)Windows XP上運行,但仍然將其作爲雙擊運行的簡單可執行文件?

在此先感謝。

回答

0

你可以嘗試以下方法之一:

  • 如果需要的話(Sample for .NET 4.5 and Inno Setup
  • 如果需要的只是檢查使用安裝程序(如Inno Setup)部署應用程序並安裝.NET Framework。 NET框架版本在安裝過程中安裝,並通知用戶,如果它不是(Sample with Inno Setup
  • 編譯與.NET本機(我沒有使用它,因此我不太瞭解它,但也許這 Intro可能會幫助你)
  • 使用C++和WMI代替

EDIT1: .NET本地需要Windows 10,從越過它上面

EDIT2:新增C++與WMI作爲一種替代方法

+0

謝謝@wobuntu。 這個小應用程序應該放在客戶的(我的borther公司的)計算機上,這樣當需要支持時,可以很容易地提供對話框中顯示的信息。強制用戶通過安裝來顯示對話框似乎太多了。 我以前做過一個VBScript,在任何地方都能正常運行,但是我對對話框的操作(例如沒有自定義圖像)的限制非常有限。是否有可能在運行時檢查所需的.NET,並且如果未檢測到框架,讓應用程序啓動VBScript而不是自己的對話框? –

+0

如果您想要一個即使在XP上運行的簡單獨立應用程序,我也建議您將C++與WMI結合使用。這裏有一個很好的WMI介紹:http://win32easy.blogspot.co.at/2011/03/wmi-in-c-query-everyting-from-your-os.html?m=1 與其他解決方案相比,它可能是您的問題中最容易的一個,使用起來非常簡單。另外,你也可以在Stack Overflow上找到很多How-Tos。 – wobuntu

相關問題