PDA

View Full Version : Enabling ASP.NET 4.5 when IIS is enabled



rguggisberg
10-08-2013, 08:54 AM
I have a Suite project in which I specify that the IIS feature is to be enabled if a certain package is eligible. This works fine but I also need to have ASP.NET 4.5 enabled. This is not enabled by default. Can I do this easily in the Suite project? Or do I have to put a CA in the Basic MSI project that is requiring IIS and do something like:
dism /online /enable-feature /featurename:IIS-ASPNET45

MichaelU
10-14-2013, 08:15 AM
The suite should be able to handle this; whether it's easy depends on how available IIS-ASPNET45 is. The following options apply equally well to any other Windows feature.

If IIS-ASPNET45 is always available and is always that feature name, you can just add it to the Windows Features setting of that package.
If IIS-ASPNET45 is only available on certain operating system versions, you have to edit the .issuite xml and add children to the WindowsFeaturesDefinitions element. (Each direct child is name you can put in the Windows Features setting, and its ItemAllOS and Client_####, Server_####, and ServerCore_#### children list feature names for use on each variant.) If you're going to be using this in a lot of projects, you can safely add it to the project template; unused definitions are removed at build.
If instead IIS-ASPNET45's availability is gated by the presence of something else, you may need to create a stub package whose eligibility you can tweak specifically to reflect the availability of the Windows feature.

rguggisberg
02-12-2014, 05:43 PM
Finally getting back to this and discovered that some of these IIS features are no longer supplied with the OS (Windows 8.1 and Server 2012 R2). When I attempt to run my Suite install that specifies a Windows feature of IIS-WebServerRole the Suite aborts with an exit status of "IDS_SUITE_INTERRUPTED". A Suite log shows:

2-12-2014[05:16:55 PM]: No source paths specified for DismEnableFeature
2-12-2014[05:16:56 PM]: Failed to DismEnableFeature (IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET): error 0xc004000d, 'One or several parent features are disabled so current feature can not be enabled.

So I tried to enable some of these features manually through the GUI and then I get an error that the files are not found and need to be downloaded. So my questions are:
1. How are others handling this?
2. Will IS 2014 have more error status messages exposed?
3. Will IS 2014 have more support for this?
Thanks!

rguggisberg
02-13-2014, 02:06 PM
Michael,
Thanks for your previous reply. Looking at that... I think I am missing something. When I edit my .issuite file (snippet below) I see nothing for Client_0603 or Server_603. Isn't 603 what I need for Windows 8.1 and Server 2012 R2? I have IS 2013 with SP1. Do I need an update?

<WindowsFeaturesDefinitions>
<IIS-WebServerRole>
<DependsOn>NetFx3</DependsOn>
<ItemAllOS>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</ItemAllOS>
<Client_0600>WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</Client_0600>
<Server_0600>WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</Server_0600>
<ServerCore_0600>WAS-WindowsActivationService;WAS-ProcessModel;IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter</ServerCore_0600>
<ServerCore_0601>IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</ServerCore_0601>
<Client_0602>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Client_0602>
<Server_0602>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Server_0602>
<ServerCore_0602>IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</ServerCore_0602>
</IIS-WebServerRole>
<NetFx3>
<Client_0600>NetFx3</Client_0600>
<Server_0600>NetFx3</Server_0600>
<ServerCore_0600/>
<Client_0601>NetFx3</Client_0601>
<Server_0601>NetFx3</Server_0601>
<ServerCore_0601/>
<Client_0602>NetFx3</Client_0602>
<Server_0602>NetFx3ServerFeatures;NetFx3</Server_0602>
<ServerCore_0602>NetFx3ServerFeatures;NetFx3</ServerCore_0602>
</NetFx3>

MichaelU
02-13-2014, 04:23 PM
We haven't released an update to this yet; have you confirmed that the list of features has changed, or is it possible that it's just a feature that requires accessing the original source so it fails to install? The former you can fix yourself by adding the _0603 overrides; the latter would probably require some code-based changes on our end, whether we can fix it or just make the error easier to understand. (Either way it sounds like something we need to research and possibly address in a future update, but the overrides may get you up and running.)

rguggisberg
02-17-2014, 09:59 PM
Thanks Michael... that gives me some thing to try when I get back to that in the next few days. I will let you know how it goes.

rguggisberg
02-19-2014, 03:41 PM
:) Thank you very much Michael!
Got it to work by adding the lines in red below to the issuite file.
It was a lot more difficult than it should have been to figure it out, but once the difficulty was found it was not hard to fix. Hopefully this will be improved in IS 2014 :)

<IIS-WebServerRole>
<DependsOn>NetFx3</DependsOn>
<ItemAllOS>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</ItemAllOS>
<Client_0600>WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</Client_0600>
<Server_0600>WAS-WindowsActivationService;WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI;IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</Server_0600>
<ServerCore_0600>WAS-WindowsActivationService;WAS-ProcessModel;IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter</ServerCore_0600>
<ServerCore_0601>IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-NetFxExtensibility;IIS-ASPNET</ServerCore_0601>
<Client_0602>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Client_0602>
<Server_0602>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Server_0602>
<ServerCore_0602>IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</ServerCore_0602>
<Client_0603>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Client_0603>
<Server_0603>IIS-WebServerRole;IIS-WebServer;IIS-WebServerManagementTools;IIS-ManagementConsole;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</Server_0603>
<ServerCore_0603>IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-StaticContent;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Performance;IIS-HttpCompressionStatic;IIS-Security;IIS-RequestFiltering;IIS-ApplicationDevelopment;IIS-ISAPIExtensions;IIS-ISAPIFilter;NetFx4Extended-ASPNET45;IIS-NetFxExtensibility;IIS-ASPNET</ServerCore_0603>
</IIS-WebServerRole>
<NetFx3>
<Client_0600>NetFx3</Client_0600>
<Server_0600>NetFx3</Server_0600>
<ServerCore_0600/>
<Client_0601>NetFx3</Client_0601>
<Server_0601>NetFx3</Server_0601>
<ServerCore_0601/>
<Client_0602>NetFx3</Client_0602>
<Server_0602>NetFx3ServerFeatures;NetFx3</Server_0602>
<ServerCore_0602>NetFx3ServerFeatures;NetFx3</ServerCore_0602>
<ServerCore_0602/>
<Client_0603>NetFx3</Client_0603>
<Server_0603>NetFx3ServerFeatures;NetFx3</Server_0603>
<ServerCore_0603>NetFx3ServerFeatures;NetFx3</ServerCore_0603>
</NetFx3>

MichaelU
02-20-2014, 12:15 PM
Glad you got it working! I'll do what I can to make sure we have this updated for our next release. (At least for new projects; the upgraded case may require some finagling.)