2010-06-02 22 views
1

我認爲最新的Matlab會自動完成此操作。我已經測試了以下exe文件放在一個乾淨的Win XP的VM:我怎樣才能讓.Net 4.0 Exe在運行這個exe之前請求用戶下載.Net 4.0 framework/redistributable?

namespace DotNetTest 
{ 
    using System.Windows.Forms; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      MessageBox.Show("Howdy!"); 
     } 
    } 
} 

當我已經全部安裝這些計算機上運行它,它確實表明了消息框和窗口。當我在一個乾淨的虛擬機上運行它,我得到這個錯誤:

Title: DotNetTest.exe - Application Error 
Icon: Error 
Buttons: {OK} 
Message Body: The application failed to initialize properly (0xc0000135). Click on OK to terminate the application. 

我希望從MSFT天才好。爲什麼每個.Net exe文件都不會包含一點點的開銷,並且它的第一個字節能夠檢測.Net是否安裝並顯示更好的消息。

是否有某種設置可以翻轉來解決這個問題?所有這些設置都是我在創建新項目時由VS2010提供的默認設置。

謝謝。

回答

2

正如亞歷山大說的,你應該真的使用這個安裝程序。如果這是不可能的,你必須編寫一個非託管exe文件先運行,然後啓動.net exe文件或者告訴用戶下載框架,具體取決於它是否已經安裝。

+0

後面的選項看起來很痛苦。我希望它只是給出。 – 2010-06-02 18:27:58

+0

這非常痛苦,所以除非你有特定的原因,否則我會像在Alxandr的回答中一樣採用標準方式。 – 2010-06-02 19:10:14

+0

謝謝,ho1,你知道有沒有更簡單的方法? – 2010-06-02 21:32:07

3

這是你使用安裝程序的。在.net中這很簡單,你只需「發佈」你的項目,然後你就會得到一個安裝程序,它可以確保安裝.net等。應用程序本身不應該擔心這一點。

相關問題