<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>Ontrex Software Package Atelier Teamblog &#187; Windows Installer</title>
	<atom:link href="http://spablog.ontrex.ch/category/news/windows-installer-news/feed/" rel="self" type="application/rss+xml" />
	<link>http://spablog.ontrex.ch</link>
	<description>Ontrex Software Package Atelier Teamblog</description>
	<lastBuildDate>Thu, 05 Jan 2012 12:19:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to repackage a NDIS driver</title>
		<link>http://spablog.ontrex.ch/2011/07/13/how-to-repackage-a-ndis-driver/</link>
		<comments>http://spablog.ontrex.ch/2011/07/13/how-to-repackage-a-ndis-driver/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 13:01:23 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=535</guid>
		<description><![CDATA[Several months ago I met a new challenge in shape of a device driver I&#8217;ve never seen before called&#8230; NDIS &#8211; Network Driver Interface Specification. I dont want to loose much time with talking about the &#8220;driver type&#8221; itself, because you can get all information from a well written wikipedia article. Such a driver usually consists [...]]]></description>
			<content:encoded><![CDATA[<p>Several months ago I met a new challenge in shape of a device driver I&#8217;ve never seen before called&#8230;</p>
<p><strong>NDIS &#8211; Network Driver Interface Specification.</strong></p>
<p>I dont want to loose much time with talking about the &#8220;driver type&#8221; itself, because you can get all information from a well written <a href="http://goo.gl/xKEsb">wikipedia article</a>.</p>
<p>Such a driver usually consists of the very typical driver files:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h41_05.png"><img class="alignnone size-full wp-image-625" title="2011-06-29 17h41_05" src="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h41_05.png" alt="" width="460" height="118" /></a></p>
<p>Inf File, Cat File &amp; Sys File. Everything signed as you might expect of course.</p>
<p>My first attempt was to install the driver the &#8220;Ontrex Best Practices&#8221; way which usually means either to use the difxapp merge module or the dpinst.exe executable (custom action).</p>
<p>Unfortunately, none of them led to to same result as the original package had behave.</p>
<p>After googling around a bit I finally came to the tipping point: netcfg.exe</p>
<p>This executable is present on every windows at least since windows 2000 and basically helps you to automate any &#8220;Network Card&#8221; related installation tasks like</p>
<p>- Installing/servicing/uninstalling Network Protocols (e.g. Internet Protocol Version 4 (TCP/IPv4)</p>
<p>- Installing/servicing/uninstalling Network services (e.g. QoS Packet Scheduler)</p>
<p>- Installing/servicing/uninstalling Network Clients (e.g. Client for Microsoft Networks)</p>
<p>Kindly asked the program offers me the following command line parameters:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h51_41.png"><img class="alignnone size-full wp-image-628" title="2011-06-29 17h51_41" src="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h51_41.png" alt="" width="831" height="121" /></a></p>
<p>So the last missing information in the puzzle is how do I know the component id for my driver?</p>
<p>Solution was simple: I had installed the original package and searched through the registry  using the INF Filename and this offered me the following result:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-30-14h09_07.png"><img class="alignnone size-medium wp-image-652" title="2011-06-30 14h09_07" src="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-30-14h09_07-300x217.png" alt="" width="300" height="217" /></a></p>
<p>&nbsp;</p>
<p>Now I had all required information to schedule a custom action in my package to install the driver.</p>
<p>Because netcfg.exe is already on every windows installation I used the type &#8220;Execute Program From Destination&#8221; (MSI SDK: <a href="http://goo.gl/3S0ji" target="_blank">Custom Action Type 34</a>)</p>
<blockquote><p>[System64Folder]netcfg.exe -l &#8220;[#netlwf.inf]&#8221; -c s -i BNNS_NdisLwf</p></blockquote>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h48_46.png"><img class="alignnone size-medium wp-image-626" title="2011-06-29 17h48_46" src="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h48_46-300x282.png" alt="" width="300" height="282" /></a></p>
<p>In our case the target operating system  was a x64 OS and therefore we needed to specify the [System64Folder].</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h50_32.png"><img class="alignnone size-full wp-image-627" title="2011-06-29 17h50_32" src="http://spablog.ontrex.ch/wp-content/uploads/2011/06/2011-06-29-17h50_32.png" alt="" width="964" height="189" /></a></p>
<p>Because the action changes the system state it logicaly belongs to the &#8220;deferred&#8221; installation sequence.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2011/07/13/how-to-repackage-a-ndis-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managed Office Addins</title>
		<link>http://spablog.ontrex.ch/2011/04/29/managed-office-addins/</link>
		<comments>http://spablog.ontrex.ch/2011/04/29/managed-office-addins/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 08:46:50 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=452</guid>
		<description><![CDATA[Als Managed Office Addins bezeichnet man in .NET entwickelte Erweiterung für die Office Suite. In diesem Artikel gehen wir auf einige wissenswerte Informationen ein. Per User Addin -&#62; ONLY! In Office 2007 konnte man &#8220;Managed Office Addins&#8221; bisher nur auf per User Basis installieren. Für jeden Setup Author /Repackager in &#8220;Multi-User&#8221; Umgebungen eine wahre Katastrophe. In [...]]]></description>
			<content:encoded><![CDATA[<div>Als Managed Office Addins bezeichnet man in .NET entwickelte Erweiterung für die Office Suite. In diesem Artikel gehen wir auf einige wissenswerte Informationen ein.</div>
<div><strong>Per User Addin -&gt; ONLY!</strong></div>
<div>In Office 2007 konnte man &#8220;Managed Office Addins&#8221; bisher nur auf per User Basis installieren. Für jeden Setup Author /Repackager in &#8220;Multi-User&#8221; Umgebungen eine wahre Katastrophe.</div>
<div>In Office 2010 hat Microsoft die uns erhöhrt und erlaubt per Machine &#8220;Managed Office Addins&#8221;. Und das allerschönste? Per (optionaler)Patch und Registry Tweak funktioniert dies nun auch unter Office 2007.</div>
<div><a href="http://support.microsoft.com/kb/976811" target="_blank">A 2007 Office system application does not load an add-in that is developed by using VSTO</a></div>
<div><strong>Troubleshooting</strong></div>
<div>Das Addon disabled sich sofort und keine Ahnung warum? Mittels einfacher Environment Variabel macht man &#8220;Managed Office Addins&#8221; sehr gesprächig.</div>
<div>Man erfasst folgende Environment Variable (oder setzt sie bevor man die Office Applikation startet).</div>
<div><strong>VSTO_SUPPRESSDISPLAYALERTS = 0</strong></div>
<div>Und schon sind die Addins informationsfreudiger:</div>
<div><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-31-11h57_08.png"><img class="alignnone size-full wp-image-570" title="2011-03-31 11h57_08" src="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-31-11h57_08.png" alt="" width="444" height="265" /></a></div>
<div>Quellen:</div>
<div><a href="http://blogs.msdn.com/b/vsto/archive/2010/03/08/deploying-your-vsto-add-ins-to-all-users-saurabh-bhatia.aspx">http://blogs.msdn.com/b/vsto/archive/2010/03/08/deploying-your-vsto-add-ins-to-all-users-saurabh-bhatia.aspx</a></div>
<div><a href="http://blogs.msdn.com/b/mshneer/archive/2005/08/26/457002.aspx">http://blogs.msdn.com/b/mshneer/archive/2005/08/26/457002.aspx</a></div>
<div><strong><br />
</strong></div>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2011/04/29/managed-office-addins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveSetup unter x64 Betriebsystem</title>
		<link>http://spablog.ontrex.ch/2011/04/19/activesetup-unter-x64-betriebsystem/</link>
		<comments>http://spablog.ontrex.ch/2011/04/19/activesetup-unter-x64-betriebsystem/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 13:59:54 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=453</guid>
		<description><![CDATA[Ein in der Repaketierung sehr beliebtes Instrument um &#8220;Per-User&#8221; Resourcen zu installieren stellt das ActiveSetup dar. Wer erwägt seine MSI-Pakete ebenfalls auf einem x64 OS zu installieren muss diesen allerdings doppelt erfassen.  Wieso fragen Sie sich sicher? Das Problem liegt im Detail: Die Windows Shell auf einem x64 Betriebsystem ist natürlich, überraschung ein 64-Bit Prozess, [...]]]></description>
			<content:encoded><![CDATA[<p>Ein in der Repaketierung sehr beliebtes Instrument um &#8220;Per-User&#8221; Resourcen zu installieren stellt das ActiveSetup dar.</p>
<p>Wer erwägt seine MSI-Pakete ebenfalls auf einem x64 OS zu installieren muss diesen allerdings doppelt erfassen.  Wieso fragen Sie sich sicher?</p>
<p>Das Problem liegt im Detail: Die Windows Shell auf einem x64 Betriebsystem ist natürlich, überraschung ein 64-Bit Prozess,  und der Active-Setup Registry Bereich ist gemäss <a href="http://msdn.microsoft.com/en-us/library/aa384253%28VS.85%29.aspx" target="_blank">Microsoft</a> kein &#8220;gesharter&#8221; Key Bereich. Daher wird beim Logon-Prozess nur der x64 Bereich &#8220;abgearbeitet&#8221;.</p>
<p>Eine saubere und TerminalServer-Aware Lösung für dieses Problem sieht wie folgt aus:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-30-16h12_051.png"><img class="alignnone size-full wp-image-562" title="2011-03-30 16h12_05" src="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-30-16h12_051.png" alt="" width="787" height="75" /></a></p>
<p>Die Komponente für das ActiveSetup wird doppelt implementiert, und einmal mit aktivierten &#8220;64-Bit Component&#8221; Flag, damit die Registry Keys auch definitiv im 64-Bit Bereich geschrieben werden.</p>
<p>Da Registry Keys jeweils nur zu einer Komponente gehören dürfen, müssen diese natürlich doppelt erfasst werden:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-30-16h14_13.png"><img class="alignnone size-full wp-image-563" title="2011-03-30 16h14_13" src="http://spablog.ontrex.ch/wp-content/uploads/2011/03/2011-03-30-16h14_13.png" alt="" width="864" height="126" /></a></p>
<p>Ansonsten gelten natürlich die üblichen ActiveSetup Best Practices. Und um es nochmals definitiv klarzustellen: Diese Implementation wird auch bei x86-Paketen benötigt.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2011/04/19/activesetup-unter-x64-betriebsystem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generelle App-V Troubleshooting Techniken</title>
		<link>http://spablog.ontrex.ch/2010/12/30/generelle-app-v-troubleshooting-techniken/</link>
		<comments>http://spablog.ontrex.ch/2010/12/30/generelle-app-v-troubleshooting-techniken/#comments</comments>
		<pubDate>Thu, 30 Dec 2010 13:38:55 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=468</guid>
		<description><![CDATA[Wie viele vielleicht bereits wissen ist das SPA Atelier auch in der Software-Virtualisierung tätig. Aufgrund den Erfahrungen aus diversen Kundenprojekten mit APP-V haben sich gewisse &#8220;grundlegende&#8221; Troubleshooting-Techniken bei uns eingebürgert, welche wir auch unseren Kunden empfehlen. Wichtig ist jedoch zu wissen, das diese Techniken nur für Virtualisierungs-&#8221;Kandidaten&#8221; funktionieren. Bekannte technische Einschränkungen wie System-Treiber etc. können hiermit [...]]]></description>
			<content:encoded><![CDATA[<p>Wie viele vielleicht bereits wissen ist das SPA Atelier auch in der Software-Virtualisierung tätig.</p>
<p>Aufgrund den Erfahrungen aus diversen Kundenprojekten mit APP-V haben sich gewisse &#8220;grundlegende&#8221; Troubleshooting-Techniken bei uns eingebürgert, welche wir auch unseren Kunden empfehlen.</p>
<p>Wichtig ist jedoch zu wissen, das diese Techniken nur für Virtualisierungs-&#8221;Kandidaten&#8221; funktionieren. Bekannte technische Einschränkungen wie System-Treiber etc. können hiermit nicht umgangen werden.</p>
<p><strong>Installation in default Path</strong></p>
<p>Auch im Jahr 2010 gibt es leider immer noch Applikationen mit &#8220;hardcodierten&#8221; Pfäden. Nach einer Installation auf das Asset-Drive verweigern diese Programme dann natürlich jegliche Dienste.<br />
Eine Installation in den default Path ist die Lösung für dieses Problem.</p>
<p><strong>Enforce Security Descriptors </strong></p>
<p>Ist seit APP-V 4.5 standardmässig aktiv. Bedeudet nichts anderes als das &#8220;Berechtigungen&#8221; auch innerhalb der APP-V Bubble gelten.</p>
<p>Das deaktivieren dieser Option hat folgenden Effekt für die App-V Benutzer:</p>
<ul>
<li>Schreibrechte auf alle im APP-V Paket (existierende) Registry Keys</li>
<li>Schreibreche auf alle im APP-V Pakete existierende VFS Files</li>
<li>Voller Zugriff auf den Assetfolder (Q:example.001</li>
</ul>
<p>Die meisten Berechtigungsprobleme sollten dann Passé sein.</p>
<p><strong>LOCAL INTERACTION ALLOWED</strong></p>
<p>Haben Sie folgende Phänomene in einer virtuellen Applikation?</p>
<ul>
<li>MAILTO: Funktioniert nicht.</li>
<li>Interaktionen mit &#8220;Basis&#8221;/nicht virtualisierten Applikationen funktioniert nicht.</li>
</ul>
<p>Dann hilft der LOCAL_INTERACTION_ALLOWED Flag! Dieser lässt sich wie folgt aktivieren:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/1.png"><img class="alignnone size-full wp-image-515" title="1" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/1.png" alt="" width="362" height="347" /></a></p>
<p>„VIRTUALENV&#8221; öffnen.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/2.png"><img class="alignnone size-full wp-image-516" title="2" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/2.png" alt="" width="312" height="196" /></a></p>
<p>Rechtsklick auf &#8220;VIRTUALENV&#8221;.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/3.png"><img class="alignnone size-full wp-image-517" title="3" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/3.png" alt="" width="408" height="180" /></a></p>
<p>„Element&#8221; -&gt; „Add&#8221; -&gt; „Policies&#8221;.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/4.png"><img class="alignnone size-full wp-image-518" title="4" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/4.png" alt="" width="604" height="107" /></a></p>
<p>Dann ebenfalls Rechtsklick auf „Policies&#8221;. <br class="atl-forced-newline" />„Element&#8221; -&gt; „Add&#8221; -&gt; „LOCAL_INTERACTION_ALLOWED&#8221;.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/5.png"><img class="alignnone size-full wp-image-519" title="5" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/5.png" alt="" width="461" height="281" /></a></p>
<p>Nun wählt man das Element „LOCAL_INTERACTION_ALLOWED&#8221; aus und trägt beim „Element Text „ den Wert „TRUE&#8221; ein.</p>
<p>Dieser muss übrigens pro Applikation/OSD aktiviert werden.</p>
<p><strong>Auf X86 OS mit X86 Sequencer sequenzieren</strong></p>
<p>Last but not least sollte man, sofern es sich um eine 32-Bit/x86 Applikation handelt, die Applikation auf einem x86 Betriebsystem zu sequenzieren.<br />
Wichtig: Man darf danach das Projekt nicht mehr mit einem x64 Sequencer öffnen!</p>
<p><strong>Erweiterte Troubleshooting Techniken</strong></p>
<p><strong>CMD in Applikationscontext starten.</strong></p>
<p>Um Probleme besser analysieren zu können, muss man die Registry/File Ansicht aus Applikationssicht sehen.</p>
<p>Mittels folgendem Trick kann man eine beliebige „base&#8221; Applikation aus der Bubble hinaus starten und somit alle virtualisierten Files &amp; Registry Keys sehen:</p>
<p>Sfttray.exe /exe „cmd.exe&#8221; /launch „Microsoft WOrd 2010 14.0.xxx&#8221;</p>
<p>„Cmd.exe&#8221; kann durch jede beliebige Applikation ersetzt werden (bsp. Regedit etc.).</p>
<p>„Microsoft WOrd 2010 14.0.xxx&#8221; ist der Applikationsname der virtualisierten Applikation.</p>
<p><strong>PROCMON</strong></p>
<p>Schlagen alle bisherigen Techniken fehl bleibt nur noch das Troubleshooting mittels Procmon &amp; ProcExp.</p>
<p>Folgender Ablauf wird empfohlen:</p>
<ul>
<li>ProcMon starten mit Standard Filter Rules.</li>
<li>Applikation starten bis Fehler auftaucht.</li>
<li>Capture stoppen und mittels Process Explorer ermitteln welcher exakte Prozess die Fehlermeldung anzeigt.</li>
<li>Filter setzen für diese Applikation.</li>
<li>Nach Gefühl filtern, die üblichen Verdächtigen sind:</li>
<li>NAME_NOT_FOUND</li>
<li>ACCESS_DENIED</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/12/30/generelle-app-v-troubleshooting-techniken/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Reader X</title>
		<link>http://spablog.ontrex.ch/2010/11/22/adobe-reader-x/</link>
		<comments>http://spablog.ontrex.ch/2010/11/22/adobe-reader-x/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 12:57:45 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=549</guid>
		<description><![CDATA[Seit letztem Freitag steht der neue Adobe Reader X von Adobe zum Download bereit. Die wichtigste Neuerung ist ein Sandbox Modus welcher für eine allgemeine Erhöhung der Sicherheit sorgen soll. Die Software wird natürlich demnächst als Direct-Package-Download in unserem Portal zur Verfügung stehen. Quelle: http://www.heise.de/security/meldung/Adobe-Reader-X-mit-Sandbox-fuer-Windows-verfuegbar-1139095.html]]></description>
			<content:encoded><![CDATA[<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/11/adobe_bbanner.png"><img class="alignnone size-full wp-image-550" title="adobe_bbanner" src="http://spablog.ontrex.ch/wp-content/uploads/2010/11/adobe_bbanner.png" alt="" width="564" height="85" /></a></p>
<p>Seit letztem Freitag steht der neue Adobe Reader X von Adobe zum Download bereit.</p>
<p>Die wichtigste Neuerung ist ein Sandbox Modus welcher für eine allgemeine Erhöhung der Sicherheit sorgen soll.</p>
<p>Die Software wird natürlich demnächst als Direct-Package-Download in unserem Portal zur Verfügung stehen.</p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><strong>Quelle:</strong> <a href="http://www.heise.de/security/meldung/Adobe-Reader-X-mit-Sandbox-fuer-Windows-verfuegbar-1139095.html">http://www.heise.de/security/meldung/Adobe-Reader-X-mit-Sandbox-fuer-Windows-verfuegbar-1139095.html</a></span></p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/11/22/adobe-reader-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>16-Bit Applikationen mit APP-V Sequencen</title>
		<link>http://spablog.ontrex.ch/2010/11/11/16-bit-applikationen-mit-app-v-sequencen/</link>
		<comments>http://spablog.ontrex.ch/2010/11/11/16-bit-applikationen-mit-app-v-sequencen/#comments</comments>
		<pubDate>Thu, 11 Nov 2010 15:52:02 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=536</guid>
		<description><![CDATA[Microsoft hat ab APP-4.5 das Registry Hooking vom Kernel-Mode in den User-Mode verschoben (Quelle: http://technet.microsoft.com/en-us/library/cc843672.aspx), dies verursacht bei 16-Bit Applikationen das Problem das diese nicht mehr korrekt sequenziert werden (fehlende Registry Keys). Damit das Sequencen auch bei 16-Bit Applikationen weiterhin korrekt funktioniert ist daher ein kleiner Eingriff notwendig, so das jede &#8220;Windows NT Virtual Dos [...]]]></description>
			<content:encoded><![CDATA[<div>Microsoft hat ab APP-4.5 das Registry Hooking vom Kernel-Mode in den User-Mode verschoben (Quelle: <a href="http://technet.microsoft.com/en-us/library/cc843672.aspx">http://technet.microsoft.com/en-us/library/cc843672.aspx</a>), dies verursacht bei 16-Bit Applikationen das Problem das diese nicht mehr korrekt sequenziert werden (fehlende Registry Keys).</div>
<div>Damit das Sequencen auch bei 16-Bit Applikationen weiterhin korrekt funktioniert ist daher ein kleiner Eingriff notwendig, so das jede &#8220;Windows NT Virtual Dos Machine&#8221; in einem seperaten Prozess aufgestartet wird.</div>
<div>Mit folgendem Workaround funktioniert das Sequencen wieder Ordnungsgemäss:</div>
<div>Unter &#8220;HKLMSYSTEMCurrentControlSetControlWOW&#8221; setzt man den &#8220;DefaultSeparateVDM&#8221; Value auf &#8220;yes&#8221;.</div>
<div><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/11/16bitapplication.png"></a></div>
<div><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/11/16bit.png"><img class="alignnone size-full wp-image-546" title="16bit" src="http://spablog.ontrex.ch/wp-content/uploads/2010/11/16bit.png" alt="" width="410" height="348" /></a></div>
<div>Danach ist nur noch ein Neustart des Betriebsystems notwendig und die 16-Bit Applikationen sollten sich wieder korrekt sequenzieren lassen.</div>
<div>Diese Einstellung muss man übrigens <strong>NICHT</strong> auf den Ziel-Clients durchführen.</div>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/11/11/16-bit-applikationen-mit-app-v-sequencen/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>64Bit Wise Setup Capture</title>
		<link>http://spablog.ontrex.ch/2010/10/28/64bit-wise-setup-capture/</link>
		<comments>http://spablog.ontrex.ch/2010/10/28/64bit-wise-setup-capture/#comments</comments>
		<pubDate>Thu, 28 Oct 2010 13:30:12 +0000</pubDate>
		<dc:creator>Stefan Hotan</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=526</guid>
		<description><![CDATA[Mit der folgenden Methode ist es mögich mit dem Wise Setup Capture 64Bit Bereiche des Betriebssystems mit in einen Snap-Shot aufzuzeichnen. 1. Der gewünschte Bereich kann mit dem subst Befehl zu einem neuen Laufwerk gebunden werden. 2. In den Setup Capture Einstellungen das erstellte Laufwerk im Directories to Watch einbeziehen Durch diesen einfachen und sehr effektiven Weg [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der folgenden Methode ist es mögich mit dem Wise Setup Capture 64Bit Bereiche des Betriebssystems mit in einen Snap-Shot aufzuzeichnen.</p>
<p>1. Der gewünschte Bereich kann mit dem subst Befehl zu einem neuen Laufwerk gebunden werden.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/subst1.png"><img class="alignnone size-full wp-image-530" title="subst" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/subst1.png" alt="" width="438" height="30" /></a></p>
<p>2. In den Setup Capture Einstellungen das erstellte Laufwerk im Directories to Watch einbeziehen</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/Settings1.png"><img class="alignnone size-full wp-image-529" title="Settings" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/Settings1.png" alt="" width="498" height="144" /></a></p>
<p>Durch diesen einfachen und sehr effektiven Weg lassen sich nun diese Bereiche aufzeichnen.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/inclusion.png"><img class="alignnone size-full wp-image-531" title="inclusion" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/inclusion.png" alt="" width="454" height="120" /></a></p>
<p>Dieser und weitere Windows 7 Tricks werden an unserem Jährlichen User Group Meeting präsentiert.<br />
Sichern Sie noch heute Ihren Platz, unsere Kundenveranstaltung am 3. November ist kostenlos und kann unter folgender Adresse im Detail eingesehen werden:</p>
<p><a href="http://www.ontrex.ch/de/70_events/10_ausblick/ausblick.htm?id=39">http://www.ontrex.ch/de/70_events/10_ausblick/ausblick.htm?id=39</a></p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/10/meeting.png"><img class="alignnone size-full wp-image-532" title="meeting" src="http://spablog.ontrex.ch/wp-content/uploads/2010/10/meeting.png" alt="" width="418" height="72" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/10/28/64bit-wise-setup-capture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft zieht Visual Studio Installer zurück</title>
		<link>http://spablog.ontrex.ch/2010/09/24/microsoft-zieht-visual-studio-installer-zuruck/</link>
		<comments>http://spablog.ontrex.ch/2010/09/24/microsoft-zieht-visual-studio-installer-zuruck/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 09:21:02 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=497</guid>
		<description><![CDATA[Wie Microsoft in einem Forumsmitteilung angekündigt hat (1), werden zukünftige Versionen von Visual Studio nicht mehr mit dem Visual Studio Installer ausgeliefert. Stattdessen wurde eine Partnerschaft mit Flexera Software geschlossen und man wird in Zukunft Visual Studio Kunden eine Limited Edition der InstallShield Software gratis zum Download anbieten. Wir vom SPA Team empfehlen für Setup [...]]]></description>
			<content:encoded><![CDATA[<p>Wie Microsoft in einem Forumsmitteilung angekündigt hat <a href="http://social.msdn.microsoft.com/Forums/en-US/winformssetup/threads" target="_blank">(1)</a>, werden zukünftige Versionen von Visual Studio nicht mehr mit dem Visual Studio Installer ausgeliefert. Stattdessen wurde eine Partnerschaft mit Flexera Software geschlossen und man wird in Zukunft Visual Studio Kunden eine Limited Edition der InstallShield Software gratis zum Download anbieten.</p>
<p>Wir vom SPA Team empfehlen für Setup Authoring das Windows Installer XML Toolkit, welches sich ebenfalls ins Visual Studio integrieren lässt.</p>
<p>Gerne Unterstützen wir Kunden bei der Implementierung, Umsetzung &amp; Schulung einer Windows Installer XML Toolkit Umgebung für die automatisierte Setup-Erstellung.</p>
<p>Via <a href="http://msmvps.com/blogs/installsite/archive/2010/09/23/microsoft-will-retire-visual-studio-installer.aspx" target="_blank">InstallSite</a></p>
<p>1) <a href="http://social.msdn.microsoft.com/Forums/en-US/winformssetup/threads">http://social.msdn.microsoft.com/Forums/en-US/winformssetup/threads</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/09/24/microsoft-zieht-visual-studio-installer-zuruck/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;the requested operation requires elevation&#8221; &#8211; Executionlevel mit App-V</title>
		<link>http://spablog.ontrex.ch/2010/09/24/the-requested-operation-requires-elevation-executionlevel-mit-app-v/</link>
		<comments>http://spablog.ontrex.ch/2010/09/24/the-requested-operation-requires-elevation-executionlevel-mit-app-v/#comments</comments>
		<pubDate>Fri, 24 Sep 2010 06:51:49 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=466</guid>
		<description><![CDATA[Wer bereits viel &#8220;App-v&#8221;-isiert wird sicher schonmal folgende Fehlermeldung erhalten haben: The requested operation requires elevation Error Code: 4513CDC-1B40212C-000002E4 Das Problem tritt in der Regel auf wenn eine Applikation erhöhte Rechte anfordert, beispielsweise durch einen &#8220;requireAdministrator&#8221; Eintrag im Manifest. In App-V kann man dieses Problem relativ einfach beheben in dem man die OSD der Applikation [...]]]></description>
			<content:encoded><![CDATA[<p>Wer bereits viel &#8220;App-v&#8221;-isiert wird sicher schonmal folgende Fehlermeldung erhalten haben:</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/09/appv-error_2.png"><img class="alignnone size-full wp-image-490" title="appv error_2" src="http://spablog.ontrex.ch/wp-content/uploads/2010/09/appv-error_2.png" alt="" width="488" height="246" /></a></p>
<p><strong>The requested operation requires elevation</strong></p>
<p><strong>Error Code: 4513CDC-1B40212C-000002E4</strong></p>
<p>Das Problem tritt in der Regel auf wenn eine Applikation erhöhte Rechte anfordert, beispielsweise durch einen &#8220;requireAdministrator&#8221; Eintrag im Manifest.</p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;">In App-V kann man dieses Problem relativ einfach beheben in dem man die OSD der Applikation um folgenden Eintrag ergänzt:</span></p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><em>&lt;ENVLIST&gt;<br />
&lt;ENVIRONMENT VARIABLE=&#8221;__COMPAT_LAYER&#8221;&gt;RunAsInvoker&lt;/ENVIRONMENT&gt;<br />
&lt;/ENVLIST&gt;<br />
&lt;DEPENDENCIES /&gt;</em></span></p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><span style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;">Die &#8220;CMD/Batch&#8221; Variable __COMPAT_LAYER kann man übrigens auch in Batch Files verwenden, wenn man nicht möchte das ein Prozess erweiterte Rechte anfordert, bzw. ein UAC Dialog erscheint.</span></span></p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><span style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;">Der Wert &#8220;RunAsInvoker&#8221; forciert das die Prozesse in der aktuellen Berechtigungsstufe bleiben sollen.</span></span></p>
<p>Quelle:<br />
<a href="http://blogs.technet.com/b/virtualworld/archive/2010/04/13/the-requested-operation-requires-elevation-2c-000002e4.aspx">http://blogs.technet.com/b/virtualworld/archive/2010/04/13/the-requested-operation-requires-elevation-2c-000002e4.aspx</a></p>
<p>Weitergehende Informationen zur __COMPAT_LAYER Variable:<br />
<a href="http://blogs.msdn.com/b/cjacks/archive/2009/09/13/how-to-run-applications-manifested-as-highestavailable-with-a-logon-script-without-elevation-for-members-of-the-administrators-group.aspx">http://blogs.msdn.com/b/cjacks/archive/2009/09/13/how-to-run-applications-manifested-as-highestavailable-with-a-logon-script-without-elevation-for-members-of-the-administrators-group.aspx</a></p>
<p><span style="font-family: 'Lucida Grande', 'Lucida Sans', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><span style="font-family: 'Lucida Grande', 'Lucida Sans Unicode', Verdana, Helvetica, Arial, sans-serif;"><br />
</span></span></p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/09/24/the-requested-operation-requires-elevation-executionlevel-mit-app-v/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wise: Add/Remove Icon &#8211; Der korrekte Weg</title>
		<link>http://spablog.ontrex.ch/2010/09/13/wise-addremove-icon-der-korrekte-weg/</link>
		<comments>http://spablog.ontrex.ch/2010/09/13/wise-addremove-icon-der-korrekte-weg/#comments</comments>
		<pubDate>Mon, 13 Sep 2010 11:02:26 +0000</pubDate>
		<dc:creator>Fabio Di Lorenzo</dc:creator>
				<category><![CDATA[Windows Installer]]></category>

		<guid isPermaLink="false">http://spablog.ontrex.ch/?p=469</guid>
		<description><![CDATA[Wer einige Pakete für ein x64 Betriebsystem mit Wise Package Studio repaketiert hat, dem wird sicher bereits aufgefallen sein das die Add/Remove Icons nicht mehr funktionieren. Der Grund hierfür liegt daran das Wise Package Studio leider immer noch einen alten (legacy) Weg einschlägt um dieses Icon zu setzen (via Registry Key) welcher unter x64 nicht [...]]]></description>
			<content:encoded><![CDATA[<p>Wer einige Pakete für ein x64 Betriebsystem mit Wise Package Studio repaketiert hat, dem wird sicher bereits aufgefallen sein das die Add/Remove Icons nicht mehr funktionieren.</p>
<p>Der Grund hierfür liegt daran das Wise Package Studio leider immer noch einen alten (legacy) Weg einschlägt um dieses Icon zu setzen (via Registry Key) welcher unter x64 nicht mehr funktioniert.</p>
<p>Mit folgendem Trick schlägt man den korrekten &#8220;Windows Installer&#8221; Weg ein welcher sowohl unter x86 &amp; x64 Betriebsystemen funktioniert:</p>
<p>1. Falls man bereits ein &#8220;Shortcut&#8221; Element mit dem gewünschten Icon hat, kann man direkt zu Punkt 3.2 springen.</p>
<p>2. Als erster Schritt muss man zur &#8220;Icon&#8221; Resource kommen. Hierfür gibt es mehrere Techniken, der einfachste Weg ist mittels dem Tool &#8220;IconsExtract&#8221; von NirSoft (Freeware, <a href="http://www.nirsoft.net/utils/iconsext.html">http://www.nirsoft.net/utils/iconsext.html</a>). Am besten sucht man sich das Haupt-EXE heraus und extrahiert das Icon. Sofern man Glück hat ist vielleicht auch bereits ein ICO File im Installationsverzeichnis vorhanden. Auf jeden Fall sollte am Ende dieses Schrittes ein ICO File mit dem gewünschten Inhalt vorliegen.</p>
<p>3.1 In der Setup Editor Ansicht wechselt man auf die &#8220;Icon&#8221; Tabelle und erfasst eine neue Zeile (Rechtsklick auf Tabelle -&gt; &#8220;New Row&#8221;). Den Namen kann man frei wählen. Mittels Doppelklick auf &#8220;{binary data}&#8221; kann man das ICO Resource in die Tabelle laden. Nun gehts weiter zu Punkt 4.</p>
<p>3.2 In der Setup Editor Ansicht wechselt man auf die &#8220;Shortcut&#8221; Tabelle. Dort sucht man den entsprechenden Shortcut und kopiert den Wert welcher in der &#8220;Icon_&#8221; Kolumne steht. Falls der Wert leer ist muss man zurück zu Punkt 2 springen. Ansonsten gehts weiter bei 4.</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/09/arp1.png"><img class="alignnone size-full wp-image-477" title="arp1" src="http://spablog.ontrex.ch/wp-content/uploads/2010/09/arp1.png" alt="" width="836" height="174" /></a></p>
<p>4. Nun erfasst man in der Property Tabelle ein Property namens &#8220;ARPPRODUCTICON&#8221; und erfasst als Value den Wert des &#8220;Binaries&#8221;. Sofern man die ICO Resource selber hinzugefügt hat, muss man natürlich den gewählten Namen wiederverwenden .</p>
<p><a href="http://spablog.ontrex.ch/wp-content/uploads/2010/09/arp2.png"><img class="alignnone size-full wp-image-478" title="arp2" src="http://spablog.ontrex.ch/wp-content/uploads/2010/09/arp2.png" alt="" width="517" height="75" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://spablog.ontrex.ch/2010/09/13/wise-addremove-icon-der-korrekte-weg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

