Ich habe beim regelmäßigen durchforsten der für mich interessantesten/wichtigsten Seiten einen Beitrag auf www.home-server-blog.de entdeckt, welcher auf die Seite mce-community verweist, wo Kay Diefenthal einen Weg zur Anpassung der Intranetseite aufzeigt um eigene Software dort zentral bereit zustellen.

Da ich aus dem Sharepointumfeld komme und eine Anpassung von Originaldateien immer sehr kritisch gegenüberstehe, jedoch gerne von dieser Idee animiert war, habe ich mir eine Alternative ausgedacht. Diesen Weg möchte ich auch gerne anderen vorstellen.

Im Grunde ist es fast dieselbe Vorgehensweise, jedoch mit dem Unterschied, das eine eigene WebApplication erstellt wird und die Dateien dynamisch ausgelesen werden. (es kann natürlich auch dieselbe WebApplication sein, aber wer weiß schon was mir demnächst damit noch so einfällt)

- verbinde dich per RDP mit deinem Server

- navigiere zu C:\Inetpub und erstelle eine Kopie des Ordners "Intranet" - den Namen kannst du dir selbst aussuchen (ich verwende customsoftware)

- tippe nun bei Start-Ausführen "inetmgr" ein und drücke Enter

Über Rechtsklick auf "Web Sites" kannst du eine neue "Web Site" hinzufügen

image

Ein Wizard führt dich hier durch alle notwendigen Einstellungen:

image

image

Im vorletzten Schritt wählst du den kopierten Ordner aus

image

Im letzten nennst du noch die Zugriffsmethoden (Read und Run Scripts)

image

Das war es dann auch schon. Über den kleinen Pfeil oben oder das Kontextmenü kann die WebApplication nun gestartet werden. Ein lokaler Aufruf sollte bereits funktionieren und die gewohnte Intranetseite darstellen.

Wir wollen ja aber die Seite nicht nur auf dem Server direkt aufrufen, sondern von den Clients! Dazu muss der Port in der Firewall freigegeben werden, damit diese Seite erreichbar ist. Klicke auf "Start - Control Panel - Windows Firewall" öffnen.

image

Im 2 Register befinden sich alle Ausnahmen, die die Firewall passieren dürfen. Hier einfach über "Add Port" den zuvor gewählten Port angeben und mit OK bestätigen.

image

Ab sofort kann die Seite auch über einen Client erreicht werden.

Nun erstellen wir uns ein Verzeichnis, indem die zukünftige Software abgelegt werden soll. Ich bevorzuge das bereits bestehende Software Verzeichnis "D:\shares\Software" und lege hier einen Ordner mit dem Namen "customsoftware" an. Diesen machen wir nun als virtuelles Verzeichnis in unserer WebApplication bekannt. (falls nicht mehr offen - Start - Ausführen - inetmgr)

Hier wählen wir die WebApplication aus und machen einen Rechtsklick. Über "New" - "Virtual Directory" können wir nun einen Assistenten öffnen, der uns die Angabe des Verzeichnisses erlaubt.

image

Zuerst wählen wir einen Alias, der im späteren Verlauf noch Bedeutung findet. Über diesen Namen lässt sich bequem von jeder Position im Web auf das Verzeichnis zugreifen.

image

Im nächsten Abschnitt wählen wir nun den Ordner aus

image

image

Nun ist auch das virtuelle Verzeichnis fertig. Bleibt noch die Anpassung für das dynamische auslesen des Verzeichnisses. Dazu erstellen wir im Verzeichnis C:\Inetpub\[DeinName] eine leere Textdatei und benennen diese um zu default.aspx (die Datei default.htm umbenennen, löschen - wird nicht mehr gebraucht oder im inetmgr die Reihenfolge ändern, sie wird sonst vorrangig interpretiert)

folgenden Code in die default.aspx einfügen:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dynamic aspx page</title>
<link rel="stylesheet" type="text/css" href="css.css" />
</head>
<body>
<div id="hdr"> <img src="i/hdr_logo.jpg" />
<h1 id="DfpSetup">Custom Software Install</h1>
</div>

<%
StringBuilder sb = new StringBuilder();
DirectoryInfo dirinfo = new DirectoryInfo(Server.MapPath("SetupProgs"));
foreach (FileInfo fileinfo in dirinfo.GetFiles())
{
sb.Append("<div id=\"info\"><img src=\"i/icon_hs.gif\" /><p class=\"itemhdr1\" id=\"DfpSetup1\">" + fileinfo.Name + "</p><p id=\"DfpSetupInstructions\"></p><div id=\"issuelink\"><a href=\"SetupProgs/" + fileinfo.Name + "\" target=\"_blank\" title=\"Download Now\"><img src=\"i/icon_arrow.gif\" /> Download Now</a></div></div>");
}
Response.Write(sb.ToString());

%>

</body>
</html>

Achte im Code auf die beiden Stellen "Server.MapPath("SetupProgs")" und "<a href=\"SetupProgs/". Wenn du beim Virtuellen Verzeichnis einen anderen Namen gewählt hast dann ersetze ihn durch deinen.
Bei einem Aufruf der Seite sollte nun eine leere Seite erscheinen. Dies kann man unterbinden, indem man nun einfach Dateien in dem Verzeichnis hinterlegt ;)

Dies sieht noch sehr spartanisch aus, sollte ja aber auch nur den machbaren Weg aufzeigen, ohne die originalen Dateien anzufassen. Denkbar wäre hier noch eine Schachtelung der Dateien in verschiedene Unterordner (Gruppierungen/Sortierung), Anzeige je nach Userberechtigungen oder das auslesen der Beschreibung der einzelnen Dateien aus einem XML File u.v.m.

image

Ich hoffe es kann noch jemand gebrauchen...




  2 Antworten zu “WHS Seite für weitere Installer anpassen [Erweiterung]”

  1. Hehe da habe ich wohl einem eine idee gegeben die er wohl alls gut befunden hat ich werde deinen weg aufjedenfall mal ausprobieren da mich das nun auch interessiert

    darf ich auf deinen blog eintrag verlinken für andere interessierte und eventuel ein pdf erstellen ?

    gruß Kay

  2. hehe, ja natürlich kannst du den verlinken… dazu sind doch Blogs da und schaden kann es ja nicht :)
    Von mir aus auch gerne ein PDF… schick mir dann mal bitte den Link wo es zu finden ist

    meine Seite hat erst vor kurzem regen einsatz gefunden als ich meinen Laptop neu aufgesetzt habe und so gleich alle Dateien bereit hatte… das hatte mich persönlich sehr gefreut^^

    viel Erfolg beim ausprobieren

    Daniel

 Antworten

(erforderlich)

(erforderlich)

Du kannst diese HTML Tags und Attribute benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

   
© 2012 Daniel Buschke - Blog Suffusion theme by Sayontan Sinha