[ カテゴリー » Web ]

Visual Studio 2008 Express Editionで「要求されたレジストリアクセスは許可されていません」というエラーが出る

唐突ですが、文句を言うだけじゃなく自分でも開発してみようということで、物は試しと「Microsoft Visual C# 2008 Express Edition」をインストールしてみました。
本当はWindows Mobileのアプリケーションを開発したいのですが、いかんせんMicrosoft Visual 2008はProfessional版からじゃないとWindows Mobile用アプリケーションの開発はできないそうで……。必要なら金は惜しみませんが、根気が続くかどうかも怪しいし、とりあえず普通のアプリケーションを作るのを試してみようという感じです。
#つか、なぜそんな大金を払う必要が('A`)

ところが、さてひとつプロジェクトを作って「Hello World!!」してみようか、としたところ、

「要求された レジストリ アクセスは許可されていません」

とのエラー。なんじゃこりゃと他のプロジェクト種類を選んで見てもやっぱり新規作成するとエラー。
ネットで調べた結果、どうにか直せましたが、はて、純正ソフトでなんでこんな処理が必要なんだ?(笑


参考にしたのはこのページLink ですが、このままでは出来なかったので、こちらLink の内容も併せた形になりました。
試したOSはWindows Vista(x64) SP1です。

尚、下記の方法を試したことにより何か不都合があったとしても私は責任取れませんので、予めご了承ください。
レジストリを弄る内容ということで、普段はこんなこと書きませんが、念のため記しておきます。
  1. http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=enLink
    をダウンロードし、インストール。「レジストリのアクセス権に関する問題を修復するツール」らしいです。
  2. テキストエディタを開き以下の内容でバッチファイル(.bat)を作成する。
    subinacl /subkeyreg HKEY_CLASSES_ROOT¥.csproj /grant=administrators=f /grant=system=f /grant=users=r
    subinacl /subkeyreg HKEY_CLASSES_ROOT¥VCSExpress.csproj.9.0 /grant=administrators=f /grant=system=f /grant=users=r 
    
    作ったバッチファイルは「fix.bat」とでもして、1でインストールしたツールのインストールフォルダの中に保存します。
    保存場所はデフォルトなら「C:¥Program Files¥Windows Resource Kits¥Tools」(ちなみにx64版だと「C:¥Program Files (x86)¥Windows Resource Kits¥Tools」です)
  3. バッチファイルを実行します。
以上。

実際には別にツールをインストールしてバッチを叩かなくても、バッチファイルに書いたレジストリキーのセキュリティを弄れば解決できるようでしたが、まあ、直ったからいいや、ということで。


4ヶ月ぶりのエントリが唐突過ぎる内容でアレですが、今年の更新は多分これで終わり……のはず。ppblogの新しいバージョンが出てるから試したいんですけどね。
それでは、また来年。

icon

04:48 pm
Comment [0]
TrackBack [0]

Up

CSSのみで擬似ブラウザ判別

ネタ以外の何ものでもありませんが、こんなものを作ってみました。→CSSで擬似ブラウザ判別Link

ソースを見ていただければ一目瞭然かとは思いますが、CSSハックでひたすらdisplay:none;や色指定を上書きしていっているだけで特に目新しい代物ではありません。
まあ、作ってみました、程度で(´・ω・`)

icon

01:04 am
Comment [0]
TrackBack [0]

Up

CSSでルビ・タイプ2

1 of 212Next»
CSSのみでルビを実装するとした時、まあ、一番シンプルな考えをするのであれば、Ruby要素以下、関連のタグに対してスタイルを指定する方法ですね。IEを除けた指定をしておけば、IEでは独自実装のルビ表示が。他はIE6/7では未実装のdisplay:inline-table系を使った指定が使えるので、実に分かりやすい実装が出来ます。

弊害として考えられるのは、オリジナルでRuby要素関連にユーザスタイルシートを当てている場合くらいでしょうが、まあ、そんなにはいないでしょうね。


私が作っているルビCSSは、そこの弊害を回避する一つのアイディア(と呼べるほどのものではないですが)で、Ruby要素に指定するのではなくSPAN要素にクラスを指定して、そのクラスに同じスタイルシートを適用するというやり方。
ソースが非常に煩雑になって見づらいことこの上ないのですが、まあ、そこそこ安定します。

ネックは、IE6,7での表示ですね。
Ruby要素の独自拡張を実装しているからと言って、display:ruby-baseなんかを実装しているわけではないので、結局別の仕組みでIEでのルビを組まなければなりません。それがまた、スマートにはできないんですよねぇ……。絶対配置を使った非常に安直なやり方です。

両者を比べるなら明らかに前者ではあるんですが、イマイチ踏み切れません。


そんなわけで、ルビCSSの別タイプを考えてみました。IE6/7では動きません(笑
ツッコミどころ満載のアレではありますが…。
/*
*
* [Ruby CSS Type2 v1.0]
*
* Example : <span class="ruby"><abbr title="[ruby text]"> [ruby base] </abbr></span>
*
* CSS Author : BENIT
*
* OS : Windows XP
*
* Browser : Internet Explorer8
* Firefox3.0
* Opera9.5
* Safari3.1.2 for win
*
* Not support [IE6/7]
*
* Last Updata //2008-8-03// Added Type2
*
*/
span.ruby2 abbr[title] {
font-size: 100%;
border-bottom-style: none;
}

html>/**/body span.ruby2 {
line-height: 1;
text-align: center;
padding: 0;
display: inline-table;
}

html>/**/body span.ruby2 { vertical-align: -28%; } /* Firefox2.x */
html>/**/body span.ruby2 , x:-moz-broken { vertical-align: 110%; } /* Firefox3.0 */
html[lang*=""]>/**/body span.ruby2 { vertical-align: 110%; } /* Opera9.5 (, IE8 and Safari) */
*:first-child+html/**/>body span.ruby2 { margin-bottom : -4px; vertical-align: baseline; } /* IE8 */
html[lang*=""]:not(:nth-child(n)) body span.ruby2 { vertical-align: -20%; } /* Safari3.1.2 */

span.ruby2:hover{ background-color: #bbb; }

html>/**/body span.ruby2 > abbr:first-child {
line-height: 1.1;
white-space: nowrap;
margin: 0;
display: table-cell;
}
html[lang*=""]:not(:nth-child(n)) body span.ruby2 > abbr:first-child { display: inline-table; } /* Safari3.1.2 */

html>/**/body span.ruby2 > abbr:first-child:before {
font-size: 64%;
line-height: 1.2;
letter-spacing: 1px;
width: 100%;
display: table-caption;
content: attr(title);
}
*:first-child+html>/**/body span.ruby2 > abbr:first-child:before { display: table-header-group; } /* IE8 */
基本的な考えかたは従来私がやってきたルビCSSと同じっちゃ同じなんですが、記述方式が根本的に違います。
IE6/7では使えないcontentプロパティを使い、titile属性を生成要素として出力し、それをdisplay:table-captionとして上に乗っけています。
SPAN要素にクラスを指定するのは相変わらずですが、今回、中にはABBR要素を使ってみました。本来は略語の正式名を掲載するための要素ですが、まあ、超拡大解釈ということで(笑 DFN要素はスタイルきった時に全てのブラウザで斜体表示になって鬱陶しいから、最初考えたんですけど没にしました。ABBRだってSafariは確か斜体にしたはずですが、まあ、webkitを使ってスタイルをオフにすることは早々ないでしょう。別にSPAN要素にタイトルでもよかったんですが、こっちは少しでも短くしたかったので……(笑

……というのは建前で。
本当は、<ruby><rb title="ruby text">ruby base</rb></ruby>としようかと思ったんですよ。ところが、この書き方だとIE8で動かないんですね。というより、RB要素に一切スタイルが効かない……。そうなると、RUBY要素の中にはRB要素RT要素他ルビ関連しか包含できないので、結局SPAN要素のお出ましというわけです(´д`)

まあでも、それなりに面白いとは思うんですよねー。IE8だと大量に使うとページがクソ重たくなるので実用性皆無ですけど(笑
でも、他のブラウザでは色んな意味で使い勝手が良いです。コピペしてもルビが入ってこないところとか、頑張れば手打ちでも打てるくらいの面倒くささとか(ノ∀`)

結構苦労しましたよー。裏技的なことをやってるおかげでブラウザごとに微妙な挙動が発生するもので。Safariはベーステキスト部にtabel-cellを指定するとルビテキストのセンタリングが出来ないし、IE8は逆にルビ側がtable-captionだとセンタリングが出来ないし、上下のdisplayの設定次第だとSafari落ちるし(笑
下table-cell、上table-header-groupだったかな? 謎仕様……。

つか、そもそも生成要素に本当はテーブル関連プロパティは設定できないことになってた気がします。CSS3からOKになりそう、だった筈。ま、動いてるからいいんですけどね(゚Д゚)

サンプルはこちらからどーぞLink
ブラウザ側で拡大縮小してもそんなに崩れない、はず。


今回のルビCSSをいじるに当たって、元祖の方も微調整しました。次ページに掲載ィー

1 of 212Next»

icon

11:53 pm
Comment [0]
TrackBack [0]

Up

ルビCSS 2.1

追記
CSSの修正版がありますLink


もっと読む»

現在IEのみで実装されているルビタグをCSSによって他のブラウザでも再現してしまえ、という企画。
実際にルビタグを使うわけではなく、SPAN要素にクラスを指定して実現しているので、CSSハックだらけ・フォント依存の部分がある・HTMLが読みづらくなる、という欠点以外はクリーンな実装だと思います。

/* 
 * [Ruby CSS v2.1]
 *
 * Example    : <span class="ruby"><span class="rb"> [ruby base] </span><span class="rp">《</span><span class="rt"> [ruby text] </span><span class="rp">》</span></span> 
 *
 * CSS Author : Akatsuki Kitamura 
 * Sourses    : http://www.akatsukinishisu.net/itazuragaki/css/use_ruby_style_as_user_stylesheet.htmlLink  
 *              http://www.akatsukinishisu.net/itazuragaki/id/ruby_for_mozilla.htmlLink 
 *  
 * Customize  : BENIT(2008/06/21)
 *
 * OS : Windows XP
 *
 * Browser : Internet Explorer6
 *           Internet Explorer7
 *           Internet Explorer8
 *           Firefox3.0 // and less than
 *           Opera9.5 // and less than
 *           Safari3.1.2 for win // and less than
 *
 * rb == ruby base
 * rt == ruby text
 * rp == ruby parentheses?
 * 
 * Last Updata //2008-6-21// Added the new CSS for Firefox3. 
 *                           Fixed CSS for IE7/8 
 *
 */

/* -+-+-+-+-+-+-[Common CSS]-+-+-+-+-+-+- */
span.ruby {
  font-size: 100%;
  line-height: 2.2;
  text-indent: 0;
  white-space: nowrap;
  margin: 0;
  position: static;
}
span.ruby span.rt {
  font-size: 77%;    /* ruby size */
  line-height: 1.3;
  letter-spacing: 0;
}
span.rp {    /* parentheses for a browser that not support CSS */
  display:none;
}

/* -+-+-+-+-+-+-[For IE7/8]-+-+-+-+-+-+- */

/* IE7 only (not apply IE8) START*/
/*/*/
*:first-child+html span.ruby {
  line-height: 2.3;
  padding: 0 0.2em;
  position: relative;
}
/**/
/*/*/
*:first-child+html body span.ruby span.rt {
  position: absolute;
  top: -1.2em;
  left: 0.2em;
}
/**/
/* IE7 only END*/

/* Common of IE7/8 */
*:first-child+html body span.ruby span.rt {
  font-size: 77%;
}

/* -+-+-+-+-+-+-[For IE6]-+-+-+-+-+-+- */
* html span.ruby {
  line-height: 2.2;
  padding: 0 0.2em;
  position: relative;
}
* html span.ruby span.rt {
  font-size: 62%;
  position: absolute;
  top: -1.0em;
  left: 0.2em;
}

/* -+-+-+-+-+-+-[For IE8, Firefox, Opera and Safari]-+-+-+-+-+-+- */
html>/**/body span.ruby {
  display : inline-table;
  line-height : 1;
  text-align : center;
  padding : 0;
}

/* Adjustment of each browser */
html>/**/body span.ruby                          { vertical-align : -28%; } /* Firefox2.x */
html>/**/body span.ruby , x:-moz-broken          { vertical-align : 115%; } /* Firefox3.0 */
html[lang*=""]>/**/body span.ruby                { vertical-align : 125%; } /* Opera9.5 (, IE8 and Safari) */
*:first-child+html/**/>body span.ruby            { margin-bottom: -4px; vertical-align: baseline; } /* IE8 */
html[lang*=""]:not(:nth-child(n)) body span.ruby { vertical-align: -15%; } /* Safari3.1.2 */

html>/**/body span.ruby > span.rb {
  display : table-row-group;
  line-height : 1.2;
}
html>/**/body span.ruby > span.rt {
  display : table-header-group;
}
前回のエントリで見つけたハックを使って、Firefox3.0に対応しました。これで現行の最新ブラウザには一通り対応してると思います。
相変わらずvertical-alignの指定には細かい微調整が必要ですが……。


ルビサンプル

 六の宮の姫君の父は、古い宮腹みやばらの生れだつた。が、時勢にも遅れ勝ちな、昔気質むかしかたぎの人だつたから、官も兵部大輔ひやうぶのたいふより昇らなかつた。姫君はさう云ふ父母ちちははと一しよに、六の宮のほとりにある、木高こだか屋形やかたに住まつてゐた。六の宮の姫君と云ふのは、その土地の名前につたのだつた。

図書カード:六の宮の姫君 - 芥川龍之介(青空文庫)Link

上に書いてない欠点が、ルビがある行と無い行で行間が変わることかな……。あとIE7以下はモダンブラウザと違う処理なので長いルビがあると読みづらいことも大欠点。

ちなみにソースはこんなことになります(笑

 六の宮の姫君の父は、古い<span class="ruby"><span class="rb">宮腹</span><span class="rp">《</span><span class="rt">みやばら</span><span class="rp">》</span></span>の生れだつた。が、時勢にも遅れ勝ちな、<span class="ruby"><span class="rb">昔気質</span><span class="rp">《</span><span class="rt">むかしかたぎ</span><span class="rp">》</span></span>の人だつたから、官も<span class="ruby"><span class="rb">兵部大輔</span><span class="rp">《</span><span class="rt">ひやうぶのたいふ</span><span class="rp">》</span></span>より昇らなかつた。姫君はさう云ふ<span class="ruby"><span class="rb">父母</span><span class="rp">《</span><span class="rt">ちちはは</span><span class="rp">》</span></span>と一しよに、六の宮のほとりにある、<span class="ruby"><span class="rb">木高</span><span class="rp">《</span><span class="rt">こだか</span><span class="rp">》</span></span>い<span class="ruby"><span class="rb">屋形</span><span class="rp">《</span><span class="rt">やかた</span><span class="rp">》</span></span>に住まつてゐた。六の宮の姫君と云ふのは、その土地の名前に<span class="ruby"><span class="rb">拠</span><span class="rp">《</span><span class="rt">よ</span><span class="rp">》</span></span>つたのだつた。





item

六の宮の姫君 (創元推理文庫)Link

  • メーカー・販売: 東京創元社
  • アマゾン価格: ¥ 609
  • 売り上げランキング: 130,382位
  • ジャンル・カテゴリー: 文庫
  • レビュー評 価: [詳 細]
    2008-09-29 ホレイシアLink
    rating:5/5円紫さんシリーズでは最高傑作
    2007-11-05 ゆこりんLink
    rating:3/5本好きな人必見!異色のミステリー♪
    2007-07-03 阿寒毬藻Link
    rating:4/5菊池寛が読みたくなる。
    2006-07-29 かほひめLink
    rating:5/5すばらしい、書誌学ミステリ
    2006-04-29 ぷりうすLink
    rating:4/5文学の向こう側を覗く



icon

09:53 am
Comment [2]
TrackBack [0]

Up

メモメモ

Firefox3で微妙に2とCSSレンダリングの仕方に違うところがあって、でもハックが見つからなくて困っていたのですが、発見したのでメモメモ。

Firefox 1.0, 1.5, 3.0 用の CSS ハックLink

しかし、グループ化したセレクタ群の中に、Web ブラウザが未対応のセレクタが一つでも含まれている場合、グループ化した別のセレクタも無効化されてしまい、グループ化した全てのスタイルが適用されなくなります。

知らなかった……。
ま、これを使って修正すればとりあえずルビCSSは暫く安定かな。

icon

10:55 pm
Comment [0]
TrackBack [0]

Up
Visual Switch