<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>dev-eth0.de</title>
	
	<link>http://www.blog.dev-eth0.de</link>
	<description>Bloggen aus der FH</description>
	<lastBuildDate>Fri, 03 Sep 2010 09:05:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dev-eth0de" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dev-eth0de" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Least recently used Cache in Java</title>
		<link>http://www.blog.dev-eth0.de/2010/least-recently-used-cache-in-java/</link>
		<comments>http://www.blog.dev-eth0.de/2010/least-recently-used-cache-in-java/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 09:02:24 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=850</guid>
		<description><![CDATA[For a persistence service we needed a local cache. We d [...]]]></description>
			<content:encoded><![CDATA[<p>For a persistence service we needed a local cache. We decided to use a least recently used cache which allows to set a maximum size and automatically deletes the oldest elements.</p>
<p>A simple implementation based on the Java-Class LinkedHashMap can be found here:</p>
<p><a title="LRU-Cache" href="http://www.dev-eth0.de/data/code/lru/LRUCache.java" target="_blank">LRUCache.java</a></p>
<p>If you need to access the cache with multiple threads, you can use the synchronized version:</p>
<p><a title="LRUCache_sync.java" href="http://www.dev-eth0.de/data/code/lru/LRUCache_sync.java" target="_blank">LRUCache_sync.java</a></p>
 <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/YPtX-9pGiLk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/least-recently-used-cache-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use Maven’s Jetty Plugin with SSL</title>
		<link>http://www.blog.dev-eth0.de/2010/use-mavens-jetty-plugin-with-ssl/</link>
		<comments>http://www.blog.dev-eth0.de/2010/use-mavens-jetty-plugin-with-ssl/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 16:55:10 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jetty]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=845</guid>
		<description><![CDATA[In a certain stage of webapp-development, there is the  [...]]]></description>
			<content:encoded><![CDATA[<p>In a certain stage of webapp-development, there is the requirement to deploy your application to a &#8220;real&#8221; webserver. If you are using <a href="http://maven.apache.org/" target="_blank">Maven</a> for your build-management you probably use the provided <a href="http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin" target="_blank">jetty plugin</a>. This plugin allows you to start your application without downloading and configuring a webserver on your own.</p>
<p>The difference between a webserver on the internet and a local machine is the accessibility and the need, to encrypt your sessions. This is normally done by providing a HTTPS-protocol access to your web-application.</p>
<p><a href="http://mrhaki.blogspot.com/" target="_blank">Hubert Klein Ikkink</a> has written a nice blog-post how this can be achieve with the jetty-maven plugin.</p>
<p><a href="http://mrhaki.blogspot.com/2009/05/configure-maven-jetty-plugin-for-ssl.html" target="_blank">Click here for the blog-post</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.14';
var flattr_uid = '18679';
var flattr_url = 'http://www.blog.dev-eth0.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'dev-eth0.de';
var flattr_dsc = 'Bloggen aus der FH';
</script>
<script src="https://api.flattr.com/js/0.5.0/load.js?mode=auto" type="text/javascript"></script> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/4p1pfwpmNY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/use-mavens-jetty-plugin-with-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging in a Tapestry-Service</title>
		<link>http://www.blog.dev-eth0.de/2010/logging-in-a-tapestry-service/</link>
		<comments>http://www.blog.dev-eth0.de/2010/logging-in-a-tapestry-service/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:48:12 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Tapestry]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=842</guid>
		<description><![CDATA[The usage of a Logging-Service in Tapestry is quite eas [...]]]></description>
			<content:encoded><![CDATA[<p>The usage of a Logging-Service in Tapestry is quite easy. You just have to use the @Inject Annotation in your classes.</p>
<pre class="brush:java">import org.slf4j.Logger;
@Inject
private Logger logger;
</pre>
<p>A little bit more complicated is the usage in a Tapestry-Service. Here an @Inject Annotation will fail, so you would have to get an instance for your logger from another source. One possibility would be to use a <strong>build-method</strong> in your Module class. But then, you would have to distribute such method for each service which should use a logger.</p>
<p>Tapestry helps you here and can contribute the needed Logger instance if you insert a constructor method to your service:</p>
<pre class="brush:java">import org.slf4j.Logger;

private final Logger logger;

public MyServiceImpl(final Logger _logger){
     this.logger = _logger;
     this.logger.debug("Successfully initialized MyServiceImpl);
}
</pre>
<p>Your Service will now be initialized with a working instance of the Logger-class.</p>
 <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/HNcfWHbItb8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/logging-in-a-tapestry-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to encrypt and decrypt data with Java</title>
		<link>http://www.blog.dev-eth0.de/2010/how-to-encrypt-and-decrypt-data-with-java/</link>
		<comments>http://www.blog.dev-eth0.de/2010/how-to-encrypt-and-decrypt-data-with-java/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 12:26:21 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=819</guid>
		<description><![CDATA[A common problem when using confidential data is how to [...]]]></description>
			<content:encoded><![CDATA[<p>A common problem when using confidential data is how to save it. Usually you would encrypt this data and save a encrypted version.</p>
<p>Java provides several build-in algorithms for symmetric-key cryptography (AES, DES &#8230;). To use those algorithms, you have to generate a secret-key and initialize a cipher for decryption and one for encryption with it.Those ciphers can now be used to crypt your data.</p>
<p>To simplify this task, I created a small library which provides the needed methods to decrypt and encrypt a String. There are several static methods to automatically initialize a crypter for a certain algorithm such as AES.</p>
<p>How to encrypt and decrypt a String:</p>
<pre class="brush:java">Crypter myCrypter = Crypter.getAES_Crypter();
String encrypted = myCrypter.encrypt("my secret text");
String decrypted = myCrypter.decrypt(encrypted);
</pre>
<p>Download:</p>
<p><a href="http://www.dev-eth0.de/data/code/crypter/Crypter.jar" target="_blank">Library</a></p>
<p><a href="http://www.dev-eth0.de/data/code/crypter/Crypter-src.zip" target="_blank">Source</a></p>
<p>A big thank you goes out to the author of the used Base64-Coder: <a href="http://www.source-code.biz/" target="_blank">http://www.source-code.biz/</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.14';
var flattr_uid = '18679';
var flattr_url = 'http://www.blog.dev-eth0.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'dev-eth0.de';
var flattr_dsc = 'Bloggen aus der FH';
</script>
<script src="https://api.flattr.com/js/0.5.0/load.js?mode=auto" type="text/javascript"></script> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/AzEIp2qjAMg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/how-to-encrypt-and-decrypt-data-with-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Einführung in Maven</title>
		<link>http://www.blog.dev-eth0.de/2010/einfuhrung-in-maven/</link>
		<comments>http://www.blog.dev-eth0.de/2010/einfuhrung-in-maven/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 10:38:32 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[maven]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=812</guid>
		<description><![CDATA[Innerhalb eines unserer Projekte lernen wir gerade die  [...]]]></description>
			<content:encoded><![CDATA[<p>Innerhalb eines unserer Projekte lernen wir gerade die Vorteile von Maven kennen. Dies betrifft vor allem das dynamische Nachladen von benötigten Libraries und die Möglichkeiten, die man zum Deployen einer Anwendung hat.</p>
<p>Bei unserem Projekt handelt es sich einerseits um eine Tapestry 5 Anwendung. Diese lässt sich auf jedem beliebigen Server mit installiertem Maven über den Befehl</p>
<pre class="brush:java">mvn jetty:run
</pre>
<p>starten.</p>
<p>Auf der anderen Seite haben wir dann noch eine einfache Java-Anwendung, die eine Verbindung über einen Socket aufbaut.</p>
<p>Als Einführung ins Thema Maven haben wir uns das folgende Buch gekauft:<br />
<a href="http://www.amazon.de/gp/product/0596007507?ie=UTF8&amp;tag=bidstatsde-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=0596007507">Maven: A Developer&#8217;s Notebook (Developer&#8217;s Notebooks)</a></p>
<p>Zwar behandelt es eine etwas ältere Maven Version, es ist aber gut für die Grundlagen geeignet.</p>
 <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/NQSm8ta7uzY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/einfuhrung-in-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to receive the geo coordinates of a certain address?</title>
		<link>http://www.blog.dev-eth0.de/2010/how-to-receive-the-geo-coordinates-of-a-certain-address/</link>
		<comments>http://www.blog.dev-eth0.de/2010/how-to-receive-the-geo-coordinates-of-a-certain-address/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 08:40:56 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=789</guid>
		<description><![CDATA[I just created a small piece of java-code, which allows [...]]]></description>
			<content:encoded><![CDATA[<p>I just created a small piece of java-code, which allows you to receive geo coordinates (longitude / latitude) for a certain address.</p>
<p>It&#8217;s quite simple to use:</p>
<pre class="brush:java">final CoordinateTool ct = new CoordinateTool();
final Coordinate coord = ct.getCoordinateForAddress(YOUR_ADDRESS);
</pre>
<p>Another feature is the possibility to load a route from A to B. You have the possibility to get this route as String or to save it to a File.</p>
<pre class="brush:java">final CoordinateTool ct = new CoordinateTool();
final String route = ct.getRouteForAddresses(YOUR_ADDRESS, YOUR_DESTINATION);
ct.saveRouteForAddresses(YOUR_ADDRESS, YOUR_DESTINATION, FILENAME);
</pre>
<p>If you need the distance between two addresses or coordinates, you can use this &#8220;getDistanceBetween&#8221; method.</p>
<p>Download: </p>
<p><a href="http://www.dev-eth0.de/data/code/coordinateTool/CoordinateTool.jar" target="_blank">Library</a></p>
<p><a href="http://www.dev-eth0.de/data/code/coordinateTool/CoordinateTool-src.zip" target="_blank">Source</a>.</p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.14';
var flattr_uid = '18679';
var flattr_url = 'http://www.blog.dev-eth0.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'dev-eth0.de';
var flattr_dsc = 'Bloggen aus der FH';
</script>
<script src="https://api.flattr.com/js/0.5.0/load.js?mode=auto" type="text/javascript"></script> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/0QQBLEP2kQU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/how-to-receive-the-geo-coordinates-of-a-certain-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Buchempfehlung: Google Web Toolkit</title>
		<link>http://www.blog.dev-eth0.de/2010/buchempfehlung-google-web-toolkit/</link>
		<comments>http://www.blog.dev-eth0.de/2010/buchempfehlung-google-web-toolkit/#comments</comments>
		<pubDate>Sun, 30 May 2010 14:06:45 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=784</guid>
		<description><![CDATA[Letzte Woche wurde entschieden, dass wir für ein neues [...]]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche wurde entschieden, dass wir für ein neues Projekt wohl etwas mit dem Google Web Toolkit auf die Beine stellen wollen. Ich hatte zwar von der Technik schon ein bisschen was gehört, aber noch keine Zeit gehabt, mich einzuarbeiten.</p>
<p>Für den einfachen Einstieg habe ich dann mal nach einem Buch gesucht und folgendes gefunden:</p>
<p><a href="http://www.amazon.de/gp/product/3939084212?ie=UTF8&amp;tag=bidstatsde-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3939084212" target="_blank">Das Google Web Toolkit: Ajax-Applikationen mit Java</a></p>
<p>Die Bewertungen bei Amazon waren schon mal soweit ok und haben sich nun auch bestätigt. Der Autor erklärt in einem recht kleinem Rahmen die Grundlagen des Toolkits und was man damit so erreichen kann. Einziger Nachteil: es wird die Version 1.X behandelt. In der aktuellen 2.X Version sind einige Änderungen hinzugekommen, für einen Einstieg ist das Buch aber trotzdem gut geeignet.</p>
<p>Ein weiterer Pluspunkt ist der für ein Fachbuch doch sehr faire Preis <img src='http://www.blog.dev-eth0.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href=" http://www.amazon.de/gp/product/3939084212?ie=UTF8&amp;tag=bidstatsde-21&amp;linkCode=as2&amp;camp=1638&amp;creative=19454&amp;creativeASIN=3939084212" target="_blank">Amazon-Link</a></p>
 <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/x6w_Bqjy1GY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/buchempfehlung-google-web-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New version of DummyCreator released</title>
		<link>http://www.blog.dev-eth0.de/2010/new-version-of-dummycreator-released/</link>
		<comments>http://www.blog.dev-eth0.de/2010/new-version-of-dummycreator-released/#comments</comments>
		<pubDate>Tue, 25 May 2010 10:41:16 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[DummyCreator]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=782</guid>
		<description><![CDATA[I just uploaded a new version of DummyCreator. This new [...]]]></description>
			<content:encoded><![CDATA[<p>I just uploaded a new version of DummyCreator. This new version features a build-in cache for methods, increasing the performance of object-creation by approximate 25-50% in my first tests.</p>
<p>You can find the download on the project&#8217;s googlecode page: <a href="http://code.google.com/p/dummycreator/" target="_blank">http://code.google.com/p/dummycreator</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.14';
var flattr_uid = '18679';
var flattr_url = 'http://www.blog.dev-eth0.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'dev-eth0.de';
var flattr_dsc = 'Bloggen aus der FH';
</script>
<script src="https://api.flattr.com/js/0.5.0/load.js?mode=auto" type="text/javascript"></script> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/1rxcYMfK6co" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/new-version-of-dummycreator-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Redmine unter Debian 5 (Lenny) installieren</title>
		<link>http://www.blog.dev-eth0.de/2010/redmine-unter-debian-5-lenny-installieren/</link>
		<comments>http://www.blog.dev-eth0.de/2010/redmine-unter-debian-5-lenny-installieren/#comments</comments>
		<pubDate>Tue, 11 May 2010 09:33:37 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=780</guid>
		<description><![CDATA[Im letzten Semester haben wir für mehrere Projekte ein [...]]]></description>
			<content:encoded><![CDATA[<p>Im letzten Semester haben wir für mehrere Projekte einen Bug-Tracker benötigt. Die erste Wahl hierbei war Trac, welches leider auf unserem vServer sehr langsam lief. Der Umstieg auf Bugzilla brachte einige Verbesserungen, ganz zufrieden waren wir aber nicht.</p>
<p><span id="more-780"></span></p>
<p>Seit einigen Wochen haben wir dann <a href="http://redmine.org/" target="_blank">Redmine</a> installiert und sind damit sehr zufrieden. Vor allem die Möglichkeit, direkt über die Webseite neue Projekte und dazugehörige SVN-Repositories anzulegen ist sehr praktisch. Wenn man nun noch ein solches Projekt als Privat markiert, erfolgt die Authentifizierung über die User-Datenbank von Redmine und somit haben nur eingetragene Entwickler des jeweiligen Projektes Zugriff.</p>
<p>Leider war die Installation von Redmine etwas aufwendiger, weswegen wir uns entschieden haben, eine entsprechende Dokumentation hierzu zu erstellen.</p>
<p><a href="http://www.dev-eth0.de/data/code/redmine/RedmineInstallation.pdf" target="_blank">Anleitung</a></p>
 <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/1C9sEYEKOqQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/redmine-unter-debian-5-lenny-installieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Packing all Windows 7 versions into one DVD</title>
		<link>http://www.blog.dev-eth0.de/2010/packing-all-windows-7-versions-into-one-dvd/</link>
		<comments>http://www.blog.dev-eth0.de/2010/packing-all-windows-7-versions-into-one-dvd/#comments</comments>
		<pubDate>Tue, 04 May 2010 10:01:19 +0000</pubDate>
		<dc:creator>dev-eth0</dc:creator>
				<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://www.blog.dev-eth0.de/?p=768</guid>
		<description><![CDATA[A normal Windows 7 distribution comes with a 32 or 64bi [...]]]></description>
			<content:encoded><![CDATA[<p>A normal Windows 7 distribution comes with a 32 or 64bit DVD. For common users, that&#8217;s ok, but if you have several systems with different versions, it&#8217;s annoying to have at least 2 DVDs. Even better is the situation, if you add a system with a different edition (Starter, Home Premium, &#8230;).</p>
<p>But there is a nice and easy possibility to build an all-in-one DVD which includes all editions (except Enterprise) and both versions (32 and 64bit)<br />
<span id="more-768"></span></p>
<h3>Preparations</h3>
<p>What you&#8217;ll need:</p>
<ul>
<li>Windows-PC</li>
<li>Windows 7 x86 DVD</li>
<li>Windows 7 x64 DVD</li>
<li>Windows Automated Installation Kit (<a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34" target="_blank">Download)</a></li>
</ul>
<p>It doesn&#8217;t matter, which Windows 7 DVD you use because each contains all editions.</p>
<p>The first step is to download and install the Windows Automated Installation Kit.While doing this, you can copy the content of the x86 DVD to a folder on your disk.</p>
<p>Now you have to delete the \sources\ei.cfg file. This file defines, which edition of Windows 7 will be installed with the DVD. If it&#8217;s missing, you will see a menu while installation which allows you to choose the edition.</p>
<p>If this was your target, you can stop here and build the image.</p>
<h3>Integrating the x64 versions into the x86 image</h3>
<p>In this step, we will add the 64bit versions to our x86 image. You have to insert your x64 DVD in your drive or extract it to your disk. In the following sample, I will assume that your DVD drive is Z: and your local folder with the x86 data is e:\win7DVD.</p>
<p>To integrate the DVD to our local install.wim, we  have to execute the following command:</p>
<pre class="brush:java">imagex /export Z:\sources\install.wim 1 e:\win7DVD\sources\install.wim "Windows 7 Home Basic x64"
</pre>
<p>This will add the Windows edition with the ID 1 to your local install.wim and rename it to &#8220;Windows 7 Home Basic x64&#8243;. This command has to be executed for each version, you want to add. Here is a list of the IDs:</p>
<ol>
<li>Windows 7 Home Basic x64</li>
<li>Windows 7 Home Premium x64</li>
<li>Windows 7 Professional x64</li>
<li>Windows 7 Ultimate x64</li>
</ol>
<p>We now have a DVD image with both 32bit and 64bit versions of Windows 7.</p>
<h3>Adding additional language-support (optional)</h3>
<p>For this step, you need the language-pack for Windows 7 (x86 and x64). Those can be downloaded from MSDN or Technet. If you have no account there, you&#8217;ll need to google these files <img src='http://www.blog.dev-eth0.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>In the next step, we mount each Windows edition and include the  language-pack. This has to be done 9 times (5 32bit editions, 4 64bit  editions) and needs quite a long time… Just change the index-number in  each pass. You need a temporary folder which will be used for the  mounting process. In the example, I’ll use e:\tmp.</p>
<p>One more important thing:  you have to use the 32bit lb.cab for your  32bit editions (the first 5) and the 64bit lb.cab for the 64bit  editions.</p>
<pre class="brush:java">dism /mount-wim /wimfile:e:\win7DVD\sources\install.wim /index:1 /mountdir:e:\tmp
dism /image:e:\tmp /add-Package /PackagePath:e:\lb.cab
dism /unmount-wim /mountdir:e:\tmp /commit
</pre>
<h3>Fixing the setup</h3>
<p>We finally want to add the new language to our setup too. The needed language-packs are included on your WAIK DVD. There is only one WIM file we need to fix.</p>
<pre class="brush:java">dism /mount-wim /wimfile:e:\win7DVD\sources\boot.wim /index:2 /MountDir:e:\tmp
dism /image:e:\tmp /add-package /packagepath:%WAIK_DVD_dir%WinPE_LangPacks\x86\de-de\lp.cab
dism /image:e:\tmp /add-package /packagepath:%WAIK_DVD_dir%WinPE_LangPacks\x86\de-de\winpe-setup_de-de.cab
dism /image:e:\tmp /add-package /packagepath:%WAIK_DVD_dir%WinPE_LangPacks\x86\de-de\winpe-setup-client_de-de.cab
</pre>
<h3>Packing the final ISO</h3>
<p>To finish the whole process, we have to pack the created data into an  ISO file to write to a DVD.</p>
<pre class="brush:java">oscdimg -lWin7AiO -m -u2 -be:\win7DVD\Boot\etfsboot.com e:\win7DVD\ Win7AiO.iso
</pre>
<h3>Get the batch-script</h3>
<p>I created a batch-script, which can easily be adapted to fit your  needs. You then just have to run it from the Deployment Tools Command  Prompt.</p>
<p><a href="http://www.dev-eth0.de/data/code/win7AiO/win7.bat" target="_blank">Download win7.bat</a></p>
<script type="text/javascript">
var flattr_wp_ver = '0.9.14';
var flattr_uid = '18679';
var flattr_url = 'http://www.blog.dev-eth0.de';
var flattr_lng = 'de_DE';
var flattr_cat = 'text';
var flattr_tag = 'blog,wordpress,rss,feed';
var flattr_btn = 'large';
var flattr_tle = 'dev-eth0.de';
var flattr_dsc = 'Bloggen aus der FH';
</script>
<script src="https://api.flattr.com/js/0.5.0/load.js?mode=auto" type="text/javascript"></script> <p><a href="http://flattr.com/" title="Flattr" target="_blank"><img src="http://www.blog.dev-eth0.de/wp-content/plugins/flattrss/button-compact-static-100x17.png" alt="flattr this!"/></a></p><img src="http://feeds.feedburner.com/~r/dev-eth0de/~4/Mp9nPYg7TZU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.blog.dev-eth0.de/2010/packing-all-windows-7-versions-into-one-dvd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
