PDA

View Full Version : SUITE: Cannot enable NetFx3 on Server 2012 R2



DLee65
11-03-2015, 06:52 AM
Our application requires .NET Framework 3.5 SP1 be installed. On Server 2012 R2 I get the following error when this tries to run.

Failed to DismEnableFeature (NetFx3): error 0xc004000d, 'One or several parent features are disabled so current feature can not be enabled.

I can enable the feature using Server Manager, but I would like to fix this.
If I open powershell I can use Dism /online /Enable-Feature /FeatureName:NetFx3 /All and it will install successfully.

It appears that the /All is missing from the InstallShield implementation of this option. Is this correct? Is there any way to modify this functionality or should I just execute my own powershell script within the installer?

EDIT: I take back my above comments regarding the DISM. The install got to 66.6% through and failed even with Powershell. I am digging deeper to see if I can figure out why I cannot enable this feature. Using Server Manager it works.

EDIT: After running windows update I was able to successfully enable the feature from the PowerShell prompt using DISM.

EDIT: After retesting my scenario, I still cannot get the feature to enable from the install, even after Windows Updates have been applied, and the system restarted. I think I am going to log a bug.

MichaelU
11-03-2015, 10:44 AM
It sounds like something may be off with the <WindowsFeaturesDefinitions> section in your project. You can ensure that InstallShield enables the necessary parents by listing them in the an appropriate child element of your project. See this related thread (https://community.flexerasoftware.com/showthread.php?207429-Enabling-ASP-NET-4-5-when-IIS-is-enabled) for some more details.

DLee65
11-03-2015, 01:37 PM
Michael, the message indicates that it tried to run. So I do not think it is a detection issue. The message states: 'One or several parent features are disabled so current feature can not be enabled.'
As far as I know there are no prerequisites for .NET Framework.

Also this works on other operating systems such as Windows 8, 8.1, Server 2008 R2, etc.

DLee65
11-03-2015, 02:17 PM
I am running into some interesting behavior.
So I removed the Windows Feature install for NetFx3. I created a new powershell script with

Dism /online /enable-feature /featurename:netfx3 /all
I scheduled this to run OnPackagesConfiguring.
I set the action to run with elevated privilege.
It runs, but fails.

I see a large 'Windows Features' dialog stating that

The following feature couldn't be installed:
.NET Framework 3.5 (includes .NET 2.0 and 3.0)

Windows Server roles and features cannot be automatically installed or uninstalled via the Windows Features Control Panel.

To install Windows Server roles and features, start Server Manager, or use the Server Manager cmdlets for Windows PowerShell.

I can still open PowerShell and install from the cmd line using the same command.

DLee65
11-03-2015, 03:34 PM
Final Update:
I must have some problem with my package. I created a new suite package, added my primary msi, and added NetFx3 to this package. Before running Windows updates the package fails to install, but after Windows Updates the package installs successfully.

I will try to isolate what could be causing the difference. One difference is that the suite project file is a conversion from IS2013 while my test scenario is a new IS2015 project.

DLee65
11-04-2015, 08:05 AM
So the issue is ultimately with upgrading a 2013 suite project to 2015.

When I create a new 2015 suite package and set the Windows Feature the package works. When I do the same to my 2013 project file then it does not work.
So I compared the two project files.

The issue is in the <WindowsFeaturesDefinitions> section. Under <NetFx3> the following was missing:


<Client_0603>NetFx3</Client_0603>
<Server_0603>NetFx3ServerFeatures;NetFx3</Server_0603>
<ServerCore_0603>NetFx3ServerFeatures;NetFx3</ServerCore_0603>
<Client_1000>NetFx3</Client_1000>


I added these lines to my project file and all is good.