2012-10-11 26 views
0

我使用NSIS安裝程序中的.net 3.5應用程序捆綁了.net 2.0和.net 4.0的ngen.exe。我沒有找到任何其他方法來做到這一點,所以我捆綁它。在app.config中使用supportedRuntime元素時應使用哪個ngen.exe?

我在我的app.config文件中有以下內容。

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0"/> 
</startup> 

我也在使用其他沒有上面代碼的app.config。其他app.config僅在pc上安裝.net 3.5時使用。我的問題是,如果用戶沒有安裝.net 3.5,應使用哪個版本的ngen.exe?

回答

3

你不能「捆綁」ngen.exe,這是不允許的。該許可證明確禁止它,請在VS安裝目錄中閱讀redist.txt。

這不僅僅是爲了讓你的生活困難,這是爲了阻止你犯錯誤。使用這樣的.exe.config文件,您需要使用.NET 4運行應用程序,而不管它是針對什麼構建的。您要求使用v4.0抖動,因此只有v4.0版本的ngen.exe是適合的。機器上已安裝的「捆綁」不是必需的。如果沒有安裝,則運行該應用程序也不起作用。

+0

+1。可以在%windir%\ Microsoft.NET \ Framework \ v4.0.30319 \ ngen.exe中找到ngen,作爲.NET Framework 4的一部分。 –

相關問題