2010-07-24 97 views
4
<!-- Custom action to set the .NET version --> 
<CustomAction Id="SetNetVersion_Cmd" Property="SetNetVersion" Execute="immediate" Return="check" Value="$(var.SetNetVersionCmd)" /> 
<CustomAction Id="SetNetVersion" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no"/> 

<!-- Run the action --> 
<InstallExecuteSequence> 
    <Custom Action='SetNetVersion_Cmd' After='InstallFinalize' /> 
</InstallExecuteSequence> 

這裏是微星日誌顯示:設置.NET版本不起作用

Action 22:02:57: SetNetVersion_Cmd. 
Action start 22:02:57: SetNetVersion_Cmd. 
MSI (s) (44:9C) [22:02:57:533]: PROPERTY CHANGE: Adding SetNetVersion property. Its value is '&quot;C:\Windows\\system32\inetsrv\appcmd&quot; set config -section:applicationPools -[name=&quot;PoolName&quot;].managedRuntimeVersion:v4.0'. 
Action ended 22:02:57: SetNetVersion_Cmd. Return value 1. 

池確實存在,但its.NET版本不會更改。我究竟做錯了什麼?

的SetNetVersionCmd是:

'&quot;[WindowsFolder]\system32\inetsrv\appcmd&quot; set config -section:applicationPools -[\[]name=&quot;PoolName&quot;[\]].managedRuntimeVersion:v4.0' 

回答

0

一種更簡單的方式做到這一點(仍在使用APPCMD)就像這樣:

AppCmd Set AppPool "PoolName" /managedRuntimeVersion:v4.0 

你應該能夠重用你的維克斯代碼所有的休息,只是改變變量的值。然而

0

老帖子,但有人可能會發現這個有用的,這個地方是一個金礦...

仍在使用維克斯3.5個人,而 manual州創建一個應用程序池時,我們可以設置 ManagedRuntimeVersion

,該文檔適用於版本3.6 ...查看我的本地幫助文件ManagedRuntimeVersion不受支持。