<?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Software Design</title><link>http://blogs.wankuma.com/tyappi/category/1495.aspx</link><description>Software Design</description><managingEditor>ちゃっぴ (tyappi@wankuma.com)</managingEditor><dc:language>ja-JP</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>内部時刻は UTC で持たせよう campaign</title><link>http://blogs.wankuma.com/tyappi/archive/2008/06/07/142136.aspx</link><pubDate>Sat, 07 Jun 2008 00:16:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2008/06/07/142136.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/142136.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2008/06/07/142136.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/142136.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/142136.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://blogs.wankuma.com/"&gt;わんくまブログ&lt;/a&gt;でもちょっと前に話題に上りましたが summer time。&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://blogs.wankuma.com/naka/archive/2008/05/14/137574.aspx"&gt;サマータイムの導入に反対します。&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://blogs.wankuma.com/hatsune/archive/2008/05/14/137590.aspx"&gt;いい加減、サマータイム導入を諦めてほしい&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Summer time が導入されるといろいろなところで問題が発生することが予想されます。&lt;/p&gt; &lt;p&gt;それはなぜでしょう？&lt;/p&gt; &lt;p&gt;それは簡単なこと。現行動いている system が summer time を考慮しないで構築されているから。&lt;/p&gt; &lt;p&gt;Summer time が導入されるか否かなんてここ数年で出てきた話ではなく、ずっと以前から議題に上っていたことですよね。ていうことは、いつ導入されてもおかしくないくらい変更される余地があるものとして、本来 system を構築しないといけないんじゃないの？&lt;/p&gt; &lt;p&gt;以前、summer time 対応を真面目に考えたことあるんですけど、結論としては NTFS とかでやっているような内部時刻は UTC で記録しておいて表示するときに local time へ変換かけるのが一番じゃないかと。まあ、その overhead はありますけど、file system で問題なく実装できているので目くじら立てることないと思うんですが。&lt;/p&gt; &lt;p&gt;ということで、これから system 設計するときは内部に保持する時刻は UTC 使いましょうよ。といってみる。&lt;/p&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/142136.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>Akamai Download Manager</title><link>http://blogs.wankuma.com/tyappi/archive/2008/04/29/135676.aspx</link><pubDate>Tue, 29 Apr 2008 11:48:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2008/04/29/135676.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/135676.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2008/04/29/135676.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/135676.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/135676.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/subscriptions/"&gt;MSDN Subscription&lt;/A&gt; で Windows XP Service Pack 3 を download するときに気づいた現象です。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/japan/msdn/subscriptions/"&gt;MSDN Subscription&lt;/A&gt; から Windows XP SP3 の ISO image を入手するためには &lt;A href="http://www.akamai.com/dl/feature_sheets/fs_edgesuite_downloadmngr.pdf"&gt;Akamai Download Manager&lt;/A&gt; の install を求められます。これを使い download を何度か行っていたのですが、その時にこのような dialog が。。。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM001.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=131 alt="Digital signature not found dialog" src="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM001_thumb.png" width=244 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;なにかと思い対象の file を確認してみる。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM002.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt="" src="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM002_thumb.png" width=222 border=0 tab? Signatures Digital have not does Manager.exe?&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;[デジタル署名] tab が存在しません。つまり署名されていないということになります。&lt;/P&gt;
&lt;P&gt;なお、対象の file は "%SYSTEMROOT%Downloaded Program Files" に存在していますが shell によって property 表示が変えられているため、対象の file を copy してから確認してください。&lt;A href="http://www.akamai.com/dl/feature_sheets/fs_edgesuite_downloadmngr.pdf"&gt;Akamai Download Manager&lt;/A&gt; を構成する file は "DownloadManagerV2.inf", "DownloadManagerV2.ocx", "Manager.exe" の ３ つになります。inf は置いておくとしても、"DownloadManagerV2.ocx", "Manager.exe" 両方とも電子署名がありません。&lt;/P&gt;
&lt;P&gt;ちなみに IE ではこんな感じで表示されています。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM003.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=185 alt="" src="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM003_thumb.png" width=244 border=0 not verify? can control ActiveX control? DLM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;ただ、上記警告が表示されなかった人も多いと思います。なぜでしょう？&lt;/P&gt;
&lt;P&gt;それは対象の ActiveX control が cabinet (.cab) 形式で配布されていて、その cabinet file には有効な電子署名がなされているから。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM004.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=242 alt="" src="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM004_thumb.png" width=244 border=0 tab? signature digital has dlm-activex-2.2.3.5.cab?&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM005.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=230 alt="Digital sigunature included " src="http://tyappi.wankuma.com/images/AkamaiDownloadManager_A3F1/AkamaiDLM005_thumb.png" width=244 border=0 dlm-activex-2.2.3.5.cab??&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;したがって、初回実行時は警告が表示されません。まあ、この仕様どうよ？と正直思いますが。。。&lt;/P&gt;
&lt;P&gt;ActiveX control を配布する場合、対象の ActiveX control はもちろん、そこから呼び出される executable file、配布に利用する cabinet file すべてに電子署名をつけるべきでしょう。&lt;/P&gt;
&lt;P&gt;なぜ署名していないか？非常に理解に苦しみます。&lt;/P&gt;
&lt;P&gt;本来手本を示さなければならない Microsoft 社が作成した software の配布に自社製ではないとはいえ、このような software を利用させることを大変遺憾に思います。&lt;/P&gt;
&lt;P&gt;できるだけ、早く改善していただきたいですねぇ。。。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/135676.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>Destination directory exists</title><link>http://blogs.wankuma.com/tyappi/archive/2007/12/12/112662.aspx</link><pubDate>Wed, 12 Dec 2007 17:32:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/12/12/112662.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/112662.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/12/12/112662.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/112662.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/112662.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?displaylang=ja&amp;amp;FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2"&gt;Windows AIK&lt;/A&gt;&amp;nbsp;で &lt;A href="http://www.microsoft.com/japan/technet/windowsvista/deploy/winpe.mspx"&gt;Windows PE&lt;/A&gt; を作成しようと遊んでいたときに遭遇した現象&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;C:\Program Files\Windows AIK\Tools\PETools&amp;gt;copype x86 D:\temp\WinPE\x86 Destination directory exists: D:\temp\WinPE\x86&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;なんじゃこれ、確かに "D:\temp\WinPE\x86" は作ったけど作っちゃいけないの？&lt;/P&gt;
&lt;P&gt;ということで、私はご存知のとおりのヒネクレ者なので "WinPE" folder も削除して実行してみる。&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;===================================================&lt;BR&gt;Creating Windows PE customization working directory&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;D:\temp\WinPE\x86&lt;BR&gt;===================================================&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1 個のファイルをコピーしました。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1 個のファイルをコピーしました。&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\bcd&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\boot.sdi&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\bootfix.bin&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\etfsboot.com&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\chs_boot.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\cht_boot.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\jpn_boot.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\kor_boot.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\boot\fonts\wgl4_boot.ttf&lt;BR&gt;9 個のファイルをコピーしました&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\bcd&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\chs_boot&lt;BR&gt;.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\cht_boot&lt;BR&gt;.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\jpn_boot&lt;BR&gt;.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\kor_boot&lt;BR&gt;.ttf&lt;BR&gt;C:\Program Files\Windows AIK\Tools\PETools\x86\EFI\microsoft\boot\fonts\wgl4_boo&lt;BR&gt;t.ttf&lt;BR&gt;6 個のファイルをコピーしました&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1 個のファイルをコピーしました。&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;1 個のファイルをコピーしました。&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;Success&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;Updating path to include peimg, oscdimg, imagex&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&amp;nbsp; &amp;nbsp;C:\Program Files\Windows AIK\Tools\PETools\&lt;BR&gt;&amp;nbsp; &amp;nbsp;C:\Program Files\Windows AIK\Tools\PETools\..\x86&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;ということで成功しちゃいました。&lt;/P&gt;
&lt;P&gt;なんだかなぁ～。せっかく存在しない folder は作成してくれる便利機能あるのに、存在していると NG なわけ？非常にもったいないですよ。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/112662.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>CreateElevatedComObject</title><link>http://blogs.wankuma.com/tyappi/archive/2007/09/16/96541.aspx</link><pubDate>Sun, 16 Sep 2007 23:40:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/09/16/96541.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/96541.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/09/16/96541.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/96541.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/96541.aspx</trackback:ping><description>&lt;P&gt;UAC が有効な環境で動作させる application で一部の機能をどうしても管理者として実行させる必要ある場合には、動的に昇格させることが推奨されるわけです。&lt;/P&gt;
&lt;P&gt;「&lt;A id=viewpost.ascx_TitleUrl HREF="/naka/archive/2007/04/04/70205.aspx"&gt;CoCreateInstanceAsAdminなんてない&lt;/A&gt;」とかで話題になった "CoCreateInstanceAsAdmin" ですけど、「&lt;A href="http://msdn2.microsoft.com/en-us/library/bb530410.aspx"&gt;&lt;FONT color=#56662d&gt;Windows Vista Application Development Requirements for User Account Control Compatibility&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp;&lt;A href="http://msdn2.microsoft.com/en-us/library/bb530410.aspx#vistauac_topic6c"&gt;3. Redesign Your Application's Functionality for UAC Compatibility&lt;/A&gt;」によると "CreateElevatedComObject" を使えって変更されていますね。って、中身を確認してみると名前変わっただけのようです。&lt;/P&gt;
&lt;P&gt;こういうものは、API で用意しとけよと思っていたのですが、一応その予定はあるようです。&lt;/P&gt;
&lt;BLOCKQUOTE cite=http://msdn2.microsoft.com/en-us/library/bb530410.aspx#vistauac_topic6c&gt;&lt;B class=le&gt;Note&lt;/B&gt; A version of this API that is more complicated to call is available. A simplified version will be available in a later version of Windows Vista.&lt;/BLOCKQUOTE&gt;
&lt;UL&gt;
&amp;lt;参考&amp;gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/vistacompatteam/archive/2006/09/28/CoCreateInstanceAsAdmin-or-CreateElevatedComObject-sample.aspx"&gt;CoCreateInstanceAsAdmin or CreateElevatedComObject sample&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/96541.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>浸透していないなぁ。。。</title><link>http://blogs.wankuma.com/tyappi/archive/2007/09/11/95202.aspx</link><pubDate>Tue, 11 Sep 2007 02:22:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/09/11/95202.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/95202.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/09/11/95202.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/95202.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/95202.aspx</trackback:ping><description>&lt;P&gt;&lt;A href="http://msdn.microsoft.com/library/ja/jpdnw2kcli/htm/AppSpecDesk.asp?frame=true"&gt;Application Specification for Microsoft&amp;#174; Windows&amp;#174; 2000 for desktop applications&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0488c060-443c-42f7-b75f-4c5e73ffaca5&amp;DisplayLang=ja"&gt;Designed for Windows XP アプリケーション仕様書 2.3 日本語版&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://download.microsoft.com/download/4/3/F/43F6FAB1-7CAD-4D12-90D8-1AF29FD86517/WV+LHS+Cookbook.doc"&gt;Microsoft&amp;#174; Windows Vista&amp;#8482; 対応アプリケーションの互換性&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;さて、これ読んだことある人すべての programmer および設計者の何 %くらいでしょうか？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/95202.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>Windows Vista 向けの logo program 向けの documents が日本語化</title><link>http://blogs.wankuma.com/tyappi/archive/2007/09/10/94973.aspx</link><pubDate>Mon, 10 Sep 2007 02:22:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/09/10/94973.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/94973.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/09/10/94973.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/94973.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/94973.aspx</trackback:ping><description>&lt;P class=lastInCell&gt;日本語化されています。Logo program を取得するつもりが無くても、Windows 上で動作するあらゆる software を設計・作成している人は一通り目を通しておくべきでしょう。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/a/4/c/a4c003f7-76be-444b-a3b7-4e74b7d5767f/WindowsVistaSoftwareLogoSpec10J.doc"&gt;Certified for Windows Vista 技術要件&lt;/A&gt;&amp;nbsp;(&lt;A href="http://microsoft.mrmpslc.com/InnovateOnWindowsVista/Redirect.aspx?u=http://download.microsoft.com/download/8/e/4/8e4c929d-679a-4238-8c21-2dcc8ed1f35c/Windows%20Vista%20Software%20Logo%20Spec%201.1.doc"&gt;English&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/a/4/c/a4c003f7-76be-444b-a3b7-4e74b7d5767f/Certifiedfor_ProgramTestCases_1.3J.doc"&gt;Certified for Windows Vista テストケース&lt;/A&gt;&amp;nbsp;(&lt;A href="http://microsoft.mrmpslc.com/InnovateOnWindowsVista/Redirect.aspx?u=http://download.microsoft.com/download/a/5/d/a5d3d02a-fd03-466f-9ba8-97f5e7a90a98/CertifiedforWindowsVistaProgramTestCases.doc"&gt;English&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/a/4/c/a4c003f7-76be-444b-a3b7-4e74b7d5767f/Top_Rules_for_the_Windows_Vista_User_Experience_Ja.doc"&gt;Windwos Vista ユーザー エクスペリエンスのトップ ルール&lt;/A&gt;&amp;nbsp;(&lt;A href="http://msdn2.microsoft.com/en-us/library/Aa511327.aspx"&gt;English&lt;/A&gt;)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://download.microsoft.com/download/4/3/F/43F6FAB1-7CAD-4D12-90D8-1AF29FD86517/WV+LHS+Cookbook.doc"&gt;Microsoft&amp;#174; Windows Vista&amp;#8482; 対応アプリケーションの互換性&lt;/A&gt;&amp;nbsp;(&lt;A href="http://download.microsoft.com/download/D/F/2/DF24C3BF-84EA-4B2D-A448-CBB7879EE5FE/Using%20Microsoft%20Virtual%20PC%202007%20for%20Application%20Compatibility.doc"&gt;English&lt;/A&gt;)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;lt;参考&amp;gt; &lt;A href="http://www.microsoft.com/japan/partner/products/windowsfamily/windowsvista/logo/default.mspx"&gt;Windows Vista ロゴ プログラム&lt;/A&gt;&amp;nbsp;(&lt;A href="http://microsoft.mrmpslc.com/innovateonwindowsvista/OverviewBenefits.aspx"&gt;English&lt;/A&gt;)&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/94973.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>文字長制限に引っかかった場合の error message</title><link>http://blogs.wankuma.com/tyappi/archive/2007/09/09/94888.aspx</link><pubDate>Sun, 09 Sep 2007 12:48:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/09/09/94888.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/94888.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/09/09/94888.aspx#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/94888.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/94888.aspx</trackback:ping><description>&lt;P&gt;&lt;A id=_fd07d4e9afd9e5b5_HomePageDays_DaysList__ctl0_DayItem_DayList__ctl0_TitleUrl HREF="/hatsune/archive/2007/09/08/94777.aspx"&gt;サロゲートペアとOracle Database&lt;/A&gt;&lt;BR&gt;&lt;A id=viewpost.ascx_TitleUrl HREF="/naka/archive/2007/09/09/94858.aspx"&gt;Unicodeの結合文字は最大何文字くっつけられる？&lt;/A&gt;&lt;BR&gt;で話題になった件ですが、JIS X 0213 を扱い出すと surrogates pair とか結合文字とかはっきりいって、見た目の文字と実際に格納される size (Bytes) の対応を行うのは非常に厄介です。&lt;/P&gt;
&lt;P&gt;ということで、size を超過した場合にはどういう error message を返すべきか？&lt;BR&gt;とりあえず、案を3つばかり挙げてみます。&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Size を超過したことのみ通知&lt;/LI&gt;
&lt;LI&gt;Size の超過と同時に超過した Bytes を通知&lt;/LI&gt;
&lt;LI&gt;Size の超過と制限されている Bytes と現在の Bytes を通知&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;さて user にとってはどれがいいですかね？&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/94888.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>ちゃっぴ (tyappi@wankuma.com)</dc:creator><title>なぜ %PROGRAMFILES% に書き込んではいけないか？</title><link>http://blogs.wankuma.com/tyappi/archive/2007/07/12/84794.aspx</link><pubDate>Thu, 12 Jul 2007 02:55:00 GMT</pubDate><guid>http://blogs.wankuma.com/tyappi/archive/2007/07/12/84794.aspx</guid><wfw:comment>http://blogs.wankuma.com/tyappi/comments/84794.aspx</wfw:comment><comments>http://blogs.wankuma.com/tyappi/archive/2007/07/12/84794.aspx#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blogs.wankuma.com/tyappi/comments/commentRss/84794.aspx</wfw:commentRss><trackback:ping>http://blogs.wankuma.com/tyappi/services/trackbacks/84794.aspx</trackback:ping><description>&lt;P&gt;Vista では %PROGRAMFILES% への書き込みは仮想化(Virtualization)されますが、なんでこういう風になったのでしょう？&lt;/P&gt;
&lt;P&gt;まず、%PROGRAMFILES% への書き込みですが、実は Windows 2000 だろうと Windows XP だろうと書き込みが制限されていました。ただ、最小限の権限で実行するという security の大原則を守っていない user があまりにも多かったため、今までは問題なくやり過ごしてきたという人も多いと思います。&lt;/P&gt;
&lt;P&gt;ちゃんと説明できる人は意外と少ないと思われますので、この際説明しておきます。&lt;/P&gt;
&lt;P&gt;第一の理由は、security です。&lt;/P&gt;
&lt;P&gt;通常 user が application を起動するときはその中身が置き換わっているかなんて注意を払わないものです。User が知らないうちにその application が置き換わったとします。これ、ある意味簡単に攻撃が成功してしまう状態ですね。&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;ただ、これが実際に深刻な脆弱性を招くかというと、攻撃手段が非常に限定されるため一般的にはそれほど問題は発生しないでしょう。むしろ、%WINDIR% とか、環境変数 "PATH" を通している folder の ACL を気にした方がよいです。ただし、当然推奨されるべきものではありません。&lt;/P&gt;
&lt;P&gt;第二の理由としては、第一の理由と似ていますが、可用性(availability)です。&lt;/P&gt;
&lt;P&gt;User が書き込めるということはすなわち、user の誤操作によって application を破壊してしまう恐れがあります。&lt;/P&gt;
&lt;P&gt;ここまでは、application の置きかえ、改竄に関する問題です。第三の理由はここまでとは全く違う要因です。それは、multi user の support の問題です。&lt;/P&gt;
&lt;P&gt;まず、Windows は NT 以降 multi user を前提に設計されています。その上で動作する application?も一部の例外を除き原則 multi user で動作するように設計・実装を行うべきです。&lt;/P&gt;
&lt;P&gt;では、なぜ %PROGRAMFILES% に書き込むのが multi user で動作することを阻害するのでしょうか？&lt;/P&gt;
&lt;P&gt;こちらの一点目の要因は、user 毎の設定ができないことです。Client でも１台の端末を複数の user で共有する場合はありますね。その場合、User 毎の設定ができた方がいいのは当然ですよね。&lt;/P&gt;
&lt;P&gt;一点目の要因はそれほど深刻な状況を招きませんが、これから述べる二点目の要因は時に深刻な事態を招きます。それは、同時実行性の阻害です。&lt;/P&gt;
&lt;P&gt;Windows 上で同時に複数の user で実行するしくみの一つに Terminal Service があります。最近では情報漏洩対策として既存 application を Terminal Service に移行するといった案件も多いでしょう。この場合、%PROGRAMFILES% に書き込みを行っていると問題が発生する場合があります。&lt;/P&gt;
&lt;P&gt;ただ、Citrix Presentation Server (旧 MetaFrame) のように Vista の仮想化と同様の手法にて強引に互換性を保つものもありますが、こういったものは application を変更できる環境であれば積極的に利用してはいけません。&lt;/P&gt;
&lt;P&gt;それから、問題は Terminal Service だけではありません。Windows XP 以降の client OS には「簡易ユーザーの切り替え」?(FUS: Fast User Switching) が搭載されています。この機能を利用している場合には、client OS でも問題が発生します。&lt;/P&gt;
&lt;P&gt;ただ、複数の user で共有するものを扱いたい場合もあるでしょう。その場合はどうしたらよいか？&lt;/P&gt;
&lt;P&gt;一番いい方法は、それを扱う専用の service 等を作成して、必ずそれを介して処理を行わせる方法です。代表的なものに多くの DBMS なんかが挙げられます。わざわざ自作しなくても、そういったものをお手軽に利用すのも一手です。&lt;/P&gt;
&lt;P&gt;次の一手ですが、同時実行性を一切考慮しないのであれば単純に "All Users" の "Application Data"?(Vista の場合 "%PROGRAMDATA%") を利用するという方法もあります。この方法を利用する場合には、OS version によっては ACL を変更する必要があります。&lt;/P&gt;
&lt;P&gt;どうでしょうか？ %PROGRAMFILES% に書き込んではいけない理由が漠然とでも理解していただければ幸いです。&lt;/P&gt;
&lt;P&gt;最後に、application を設計・実装するのであれば、実際に設計・実装を行う前に下記 document に目を通しておくことをお勧めします。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=0488c060-443c-42f7-b75f-4c5e73ffaca5&amp;DisplayLang=ja"&gt;Designed for Windows XP アプリケーション仕様書 2.3 日本語版&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;XP 時点の古いものですが、Vista でも有効な application の満たすべき要件が載っています。Vista に関しては下記 document を読んでおいた方がよいでしょう。&lt;/P&gt;
&lt;P class=lastInCell&gt;&lt;A href="http://download.microsoft.com/download/a/4/c/a4c003f7-76be-444b-a3b7-4e74b7d5767f/WindowsVistaSoftwareLogoSpec10J.doc"&gt;Certified for Windows Vista 技術要件&lt;/A&gt;&lt;/P&gt;
&lt;P class=lastInCell&gt;Designed for Windows XP (Vista で同じ level に当たるのは Works with Windows Vista) より厳しい Certified の要件ですが、非常に参考になると思います。&lt;/P&gt;&lt;img src ="http://blogs.wankuma.com/tyappi/aggbug/84794.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>