2016/07/05

Nano Server に IIS を応答ファイルでインストールする

Nano Server や Nano Server ベースのコンテナーに IIS をオンラインで追加する際に、DISM /Online /Add-Package でやると、必ず Microsoft-NanoServer-IIS-Package.cab の追加が失敗する件。

次のように、Microsoft-NanoServer-IIS-Package.cab の失敗後に、Microsoft-NanoServer-IIS-Package_en-us.cab を入れてから、もう一度、Microsoft-NanoServer-IIS-Package.cab をインストールすると成功するのですが...

C:\> DISM /Online /Add-Package /PackagePath:C:\Packages\Microsoft-NanoServer-IIS-Package.cab (失敗)
C:\> DISM /Online /Add-Package /PackagePath:C:\Packages\en-us\Microsoft-NanoServer-IIS-Package_en-us.cab (成功)
C:\> DISM /Online /Add-Package /PackagePath:C:\Packages\Microsoft-NanoServer-IIS-Package.cab (成功)

応答ファイルを使うと、すっきりインストールできました。

参考:
IIS on Nano Server
[URL] https://technet.microsoft.com/en-us/library/mt627783.aspx

注:以下の手順は、「Hyper-V Container に入れた IIS、Commit すると動かない問題(未解決) 」を解決するものではありませんでした。Nano Server の一般的な扱い方としてのメモです。



以下は、Hyper-V Container や Nano Server ベースの Windows Server コンテナーの場合の手順です。通常の Nano Server の場合は、ファイル共有などを介して インストール メディアの \NanoServer\Packages と応答ファイルを Nano Server に持っていって dism /online /apply-unattend:.\unattendforiis.xml すれば OK。


C:\> notepad c:\share\nanoserverforiis.xml

<?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
    <servicing>
        <package action="install">
            <assemblyIdentity name="Microsoft-NanoServer-IIS-Feature-Package" version="10.0.14300.1000" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" />
            <source location="c:\packages\Microsoft-NanoServer-IIS-Package.cab" />
        </package>
        <package action="install">
            <assemblyIdentity name="Microsoft-NanoServer-IIS-Feature-Package" version="10.0.14300.1000" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="en-US" />
            <source location="c:\packages\en-us\Microsoft-NanoServer-IIS-Package_en-us.cab" />
        </package>
    </servicing>
    <cpi:offlineImage cpi:source="" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

C:\> docker run --name mynanoiis02 -it -p 80:80 -v c:\share:c:\packages (--isolation=hyperv) nanoserver cmd

(enter container mynanoiis02)
C:\> cd packages
C:\> dism /online /apply-unattend:.\unattendforiis.xml
C:\> dism /online /get-packages
C:\> net start w3svc




0 件のコメント: