ホーム > タグ > メモ
メモ
サクラエディタの更新ツールでv2系をチェックするように設定
「サクラエディタ」も内部文字コードをUnicodeにしたv2系が正式にリリースされました。
それに伴い、インストール支援ツール「SakuraDown」でもv2系をチェックできるように設定を変更してみたのでメモ。
ダウンロード先などを記述している「DownInfo.ini」のセクション[EDITOR]のところを下記のように編集する。
[EDITOR]
;ReleaseURI=http://sourceforge.net/api/file/index/project-id/12488/rss?path=%2Fsakura
ReleaseURI=http://sourceforge.net/api/file/index/project-id/12488/rss?path=%2Fsakura2
;FileRegExp=\d\.\d\.\d\.\d/sakura_[^\/\?<>=]+\.zip
FileRegExp=\d\.\d\.\d\.\d/sakura2[^\/\?<>=]+\.zip
ReleaseFindingPolicy=FROM_LAST
;DownloadURI=http://@MIRROR.dl.sourceforge.net/project/sakura-editor/sakura/@FILE
DownloadURI=http://@MIRROR.dl.sourceforge.net/project/sakura-editor/sakura2/@FILE
ReleaseType=SITE_SOURCEFORGE
;WildName=sakura_????-??-??*.zip
WildName=sakura2-*.zip
正規表現ライブラリもUnicode版を利用するように「DownInfo.ini」のセクション[BREGEXP]のところを下記のように編集する。
[BREGEXP]
ReleaseURI=http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
;FileRegExp=bron[0-9]+\.zip
FileRegExp=bron2[0-9]+\.zip
DownloadURI=http://homepage3.nifty.com/k-takata/mysoft/@FILE
ReleaseType=SITE_NORMAL
WildName=bron???.zip;bron???.lzh
正しくないところがあると思うけれど、一応これで動いたので、暫定対応ってことで自己責任でお願いします。
[VS]ソフトウェア発行元証明書の作成と署名
- 2010年11月27日 12:00 AM
- 資料
作成物に証明書を署名するための作成方法と署名方法をメモ。
自己署名証明書とか、オレオレ証明書とかいわれるものでVSTOのインストールにClickOnceを使用する場合、必要なもの。
使用するツールはWindowsSDKに含まれている。
- 作成方法
rem 1.==== rem CA:Certificate Authority:認証局証明書 rem 会社名 : MoonWing rem 組織名 : MoonWing Authority Root CA rem 県 名 : Tokyo rem 国 名 : JP rem 有効期限: 2012.12.31 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -r -n "C=JP, S=Tokyo, OU=MoonWing Authority Root CA, O=MoonWing" -e 12/31/2012 -a sha1 -cy authority -sv moonwingCA.pvk moonwingCA.cer rem 秘密キーのパスワードの作成:Subject Key:rootCA rem 秘密キーのパスワードの入力:Subject Key:rootCA rem 2.==== rem EE:End Entity:署名用証明書 rem コモン名: MoonWing rem 会社名 : MoonWing rem 組織名 : MoonWing Development rem 県 名 : Tokyo rem 国 名 : JP rem 有効期限: 2012.12.31 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -n "CN=MoonWing, C=JP, S=Tokyo, O=MoonWing, OU=MoonWing Development" -e 12/31/2012 -sv moonwing.pvk -ic moonwingCA.cer -iv moonwingCA.pvk -nscp -cy end moonwing.cer rem 秘密キーのパスワードの作成:Subject Key:endEntity rem 秘密キーのパスワードの入力:Subject Key:endEntity rem 秘密キーのパスワードの入力:Issuer Signature:rootCA rem 3.==== rem SPC:Software Publisher's Certificate:ソフトウェア発行元証明書 "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\Cert2SPC" moonwing.cer moonwingCA.cer moonwing.spc rem 4.==== rem PFX:Personal Information Exchange:PKCS#12 rem -pi(pvkpassword):endEntity rem -po(pfxpassword):SPC "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\pvk2pfx" -pvk moonwing.pvk -pi endEntity -spc moonwing.spc -pfx moonwing.pfx -po SPC - 署名方法
rem 5.==== rem target.exeへ署名 rem -t(time stamp server):http://timestamp.verisign.com/scripts/timstamp.dll rem -p(pfxpassword):SPC "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\signtool" sign /f moonwing.pfx /a /t http://timestamp.verisign.com/scripts/timstamp.dll /p SPC target.exe
[Tool]Mercurial(マーキュリアル)の導入
- 2010年11月22日 12:00 AM
- ツール
GoogleCodeでも使用されている分散型バージョン管理システム。
以前は、集中型バージョン管理システムのSubversionを使用していたが
個人用途なのにいちいちサーバーとして動作させるのが好きではなかったので
そそくさと、こちらに移行。
導入といっても、「TortoiseHg(with Mercurial)」をインストールし、下記のレジストリを追加
- %ProgramFiles%\TortoiseHg\i18n\cmenu\thg-cmenu-ja.reg
この時点で、右クリックで表示されるコンテキストメニューは日本語になっていたが、
設定画面は英語だったので日本語化するためにユーザー環境変数に下記の設定を追加する。
- 変数名:LANG
- 変数値:ja
リポジトリをコンテキストメニューで作成して利用開始。
「$Id$」をコミット時に展開するためにコマンドプロンプトから
リポジトリ内(“.hg”があるディレクトリ)で下記のコマンドを実行
hg kwexpand
エラーが出ていないことが確認できたらコミットして展開されるか確認。
“hgrc”に下記の指定が必要だったかどうかは覚えていないがメモ。
[extensions]
hgext.keyword =
[keyword]
* =
[VS]Office AddinのインストーラがVSTOのインストールに失敗する
- 2010年11月20日 12:00 AM
- 記録
VisuatlStudio2010 + .NetFramework3.5でOffice2007のアドインを作成し、Setupを下記のサイトを参考に作成したときのメモ。
かなり役に立つので必読です。
- Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する (Part 1 of 2)
- Windows インストーラを使用して Visual Studio 2005 Tools for Office Second Edition ソリューションを配置する: ウォークスルー (Part 2 of 2)
- Office 2003 アプリケーションの Windows Installer (msi) による配布方法
- Office 2007 アプリケーションの Windows Installer による配布方法 (VSTO v3 編)
上記の記事を参考にすることで、AddinとSetupがパッケージぽい形になるかと思います。
自分が作成した際には熟読してないがために下記の2点が抜けていました。
- レジストリへ登録の作成
- Inclusion Listへの登録処理作成
ちなみに起動条件の作成時にVSTOの日本語ランゲージパックを追加しようとしたのですがうまくいきませんでした。
Oracで取得したComponentIDが正しいかどうかすら確認できず、とりあえず、必須制限からはずしました。
VM上でインストーラのテストを行ったところインストールは完了するもののうまくアドインが動作しません。
ログを出すためにユーザー環境変数に以下の2つを追加しました。
- VSTO_SUPPRESSDISPLAYALERTS:0
- VSTO_LOGALERTS:1
ログを追いかけてみてわかったことは2つありました。
- Setup.msiでは必須コンポーネントがインストールされない
- VSTO4.0ランゲージパックのダウンロードに失敗する
1つ目は、最初に示した参考サイト内にちゃんと書かれていました。
Setup.exe をダブルクリックしてソリューションをインストールする代わりに、.msi ファイルをダブルクリックしてソリューションをインストールする方法も選択できます。このモードでは、ユーザーはブートストラップを実行しません。そのため、セットアップは依存関係を検出できず、必要に応じた必須コンポーネントのインストールも行いません。
つまり、Setup.exeでインストールしないといけないということで、Setup.exeは必須コンポーネントインストール後にSetup.msiを実行すると。
といわけで、VisualStudioのSetupプロジェクトの「必須コンポーネント」プロパティはSetup.exeに作用するだけで、別途Setup.msiが必須コンポーネントの存在しない場合に起動しないようにするための起動条件は手動で作成しなければならないとのことです。しっかり読んでいたならこんなところでは引っかからなかったのでしょうが。
2つ目はインストーラのログを読んでVSTO4.0日本語ランゲージパックのダウンロードに失敗していました。
具体的には下記の2つのURLです。
- http://go.microsoft.com/fwlink/?LinkId=158919&clcid=0×411
- http://go.microsoft.com/fwlink/?LinkId=158920&clcid=0×411
上記のURLは確かにリダイレクト先が存在しないようで、このURLはどこで設定されているかを調べてみました。
その結果、レジストリの
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5
に記載されているPath内(多分WindowsSDK内)にあるBootstrapperと呼ばれるものの中で定義されているようです。
実際に自分の環境のBootstrapper/VSTO4.0日本語ランゲージは
- C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\VSTOR40\ja\package.xml
にURLが記載されていていました。
ここは、本来手を入れるべきではない場所でしたが実験でURLを下記のように書き換えてみたところ、無事インストールを成功させることができました。
--- before/package.xml
+++ after/package.xml
@@ -61,7 +61,7 @@
Microsoft Visual Studio 2010 Tools for Office Runtime (x86 および x64) Language Pack - 日本語のインストール中にエラーが発生しました。
http://go.microsoft.com/fwlink/?LinkId=158917
http://go.microsoft.com/fwlink/?LinkId=158918
- http://go.microsoft.com/fwlink/?LinkId=158919&clcid=0x411
- http://go.microsoft.com/fwlink/?LinkId=158920&clcid=0x411
+ http://download.microsoft.com/download/8/D/1/8D139084-948F-45F7-A014-71A90E2572EC/vstor40_LP_x86_jpn.exe
+ http://download.microsoft.com/download/8/D/1/8D139084-948F-45F7-A014-71A90E2572EC/vstor40_LP_x64_jpn.exe
とりあえず、Microsoftからの修正がでるまではこの対応ではこの対応で乗り切れると思います。
たしか、VSTO3.0でも同様にv6.0A内のBootstrapperの日本語ランゲージへのURLも同じように存在しない場所を指してたような。
(参考:まなBlog)
それと、小さな注意点がありました。
Windows7で開発していたため、package.xmlを書き換えるには管理者権限が必要でした。
ふだん使っているエディタを管理者権限で起動しなおすのは手間だと思い、メモ帳を管理者権限で立ち上げ、URLを修正したのが問題となりました。
というのも、このpackage.xmlはUTF-8のBOMなし(UTF-8N)で作成されているのですが、Windows付属のメモ帳ではBOMありでUTF-8を保存してしまうようで、
Setupをリビルドした際に下記の警告が表示され、実際インストーラはランゲージパックをインストールしない挙動に変わってしまいました。
警告: カルチャ 'ja-JP' を項目 'Microsoft Visual Studio 2010 Tools for Office Runtime (x86 and x64)' に対して一致できませんでした。カルチャ 'en' を使用します。
package.xmlをUTF-8Nで保存し、BOMがないことと文字化けしていないことを確認して再ビルドしたところ警告もなくなり、ランゲージパックのインストールも主なわれるようになりました。
また、今回は必要とならなかったけれど関連のある参考サイトもメモ
[Tool]Gnu On Windows
- 2010年8月25日 12:00 AM
- ツール
LinuxやMacOSXなどと比べるとWindowsだけコマンドが違うとかコマンドが足りないとかクロスコンパイル時に困ることもあった。
こういった場合、今まではCygwinを利用したり、用途によってはMSYSで作業していたがCygwinはレジストリの変更などが多くできれば入れたくない。
そこで、見つけたのがGOW。シンプルなコマンド群でCygwinと比べれば簡易的なものだろうけれど、多くの場合において十分使える。
- ダウンロード
Home-gow-GitHub
[Tool]exciteメールを保存
- 2010年8月24日 12:00 AM
- ツール
昔はよく使っていたexciteメールだけれど、使い勝手からか使わなくなってしまった。
転送メールの設定もできず、保存するのにツールを使用したのでそのメモ。
- 準備
- 使用方法
- 「Jupiter5」を起動するとセキュリティ警告が表示される場合があるが、通信を行う必要があるので「ブロックを解除する」を選択

- メニュー[設定]->[スクリプト]->[インストール]を選択する

- ダウンロードしたExciteメール Ver. 2.12の[Excite_yobane.js]をドラッグする

- ドラッグした[Excite_yobane.js]をダイアログにドロップし、スクリプトをインストールする

- メニュー[設定]->[アイテムの追加]を選択する

- ユーザIDやパスワード、メールアドレスを入力する

- 設定したアイテムを右クリックし[このアイテムを実行する]を選択し、取得を開始する

- 「Jupiter5」を起動するとセキュリティ警告が表示される場合があるが、通信を行う必要があるので「ブロックを解除する」を選択
AmazonSearchをHTMLで設置する
Amazonで作成したウィジェットではJavascriptが利用されるうえ、HTML構文エラーやデザイン的問題があったので、HTMLで実装してみた。
正しく動作するかまだ確認できてないが、とりあえず検索としてはちゃんと動いてるみたいなのでメモ。
以下、サイドメニューに追加したHTML構文
<dt>AmazonSearch</dt>
<dd>
<form action="http://www.amazon.co.jp/exec/obidos/external-search" method="get">
<fieldset>
<legend>
<label for="AmazonSearchKeyword">Amazon検索</label>
</legend>
<div>
<strong>サーチ:</strong>
<select id="searchDropdownBox" style="font-size: 0.8em;" title="次の中からサーチ" name="url">
<option selected="selected" value="search-alias=aps">すべてのカテゴリー</option>
<option value="search-alias=stripbooks">和書</option>
<option value="search-alias=english-books">洋書</option>
<option value="search-alias=dvd">DVD</option>
<option value="search-alias=popular">ミュージック</option>
<option value="search-alias=classical">クラシック音楽</option>
<option value="search-alias=mi">楽器</option>
<option value="search-alias=videogames">TVゲーム</option>
<option value="search-alias=software">PCソフト</option>
<option value="search-alias=electronics">家電&カメラ</option>
<option value="search-alias=office-products">文房具・オフィス用品</option>
<option value="search-alias=kitchen">ホーム&キッチン</option>
<option value="search-alias=food-beverage">食品&飲料</option>
<option value="search-alias=hpc">ヘルス&ビューティー</option>
<option value="search-alias=beauty">コスメ</option>
<option value="search-alias=baby">ベビー&マタニティ</option>
<option value="search-alias=toys">おもちゃ</option>
<option value="search-alias=apparel">服&ファッション小物</option>
<option value="search-alias=shoes">シューズ&バッグ</option>
<option value="search-alias=jewelry">ジュエリー</option>
<option value="search-alias=watch">時計</option>
<option value="search-alias=sporting">スポーツ&アウトドア</option>
<option value="search-alias=automotive">カー&バイク用品</option>
<option value="search-alias=diy">DIY・工具</option>
</select></div>
<div>
<input id="AmazonSearchKeyword" style="width: 10em; font-size: 0.8em;" name="AmazonSearchKeyword" type="text" />
<input name="tag" type="hidden" value="dambe-22" />
<input name="encoding-string-jp" type="hidden" value="日本語" />
<input style="vertical-align: middle;" name="Go" src="http://wms.assoc-amazon.jp/JP/img/go-rd-sec_tpng.png?tag=dambe-22" type="image" value="Go" /></div>
<div>
<a href="http://www.amazon.jp/?&camp=759&linkCode=wsw&tag=dambe-22&creative=3867">
<img style="border: none;" src="http://wms.assoc-amazon.jp/JP/img/amazon-logo-b_tpng.png" alt="Amazon.co.jpアソシエイト" />
</a></div></fieldset>
</form>
</dd>
ディレクティブ
- 2010年8月4日 12:00 AM
- 資料
クロスプラットフォーム対応コードを書くときにプラットフォーム依存部分を切り分けるプリプロセッサディレクティブのメモ。
- Compiler
- GCC
- #ifdef __GNUC__
- #if __GNUC__ >= 3 // GCC3.0以上
- #ifdef __GNUC__
- Borland C++
- #ifdef __BORLANDC__
- intel Compiler
- #ifdef __INTEL_COMPILER
- Microsoft Compiler
- #ifdef _MSC_VER
- #if _MSC_VER >=600 // C Compiler 6.0以降 VC++含む
- #if _MSC_VER >=700 // C/C++ Compiler 7.0以降 VC++含む
- #if _MSC_VER >=800 // VC++1.0以降
- #if _MSC_VER >=900 // VC++2.0以降
- #if _MSC_VER >=1000 // VC++4.0以降
- #if _MSC_VER >=1010 // VC++4.1以降
- #if _MSC_VER >=1020 // VC++4.2以降
- #if _MSC_VER >=1100 // VC++5.0以降
- #if _MSC_VER >=1200 // VC++6.0以降
- #if _MSC_VER >=1300 // VC2002(VC7.0)以降
- #if _MSC_VER >=1310 // VC2003(VC7.1)以降
- #if _MSC_VER >=1400 // VC2005(VC8.0)以降
- #if _MSC_VER >=1500 // VC2008(VC9.0)以降
- #if _MSC_VER >=1600 // VC2010(VC10.0)以降
- #ifdef _MSC_VER
- GCC
- UNIX system
- UNIX
- #ifdef __unix
- #ifdef __unix__
- Linux
- #ifdef __linux
- #ifdef __linux__
- FreeBSD
- #ifdef __FreeBSD__
- NetBSD
- #ifdef __NetBSD__
- Cygwin
- #ifdef __CYGWIN__
- #ifdef __CYGWIN32__ // 32bit版Cygwin
- MinGW (-mno-cygwin)
- #ifdef __MINGW32__
- UNIX
- Windows system
- CUI
- #ifdef _CONSOLE
- GUI
- #ifdef _WINDOWS
- 32bit Windows
- #ifdef WIN32
- #ifdef _WIN32
- 64bit Windows
- #ifdef _WIN64
- Windows version
- #ifdef WINVER
- #if (WINVER >= 0x030a) // Windows 3.1以降
- #if (WINVER >= 0×0400) // Windows 95/ NT4.0以降
- #if (WINVER >= 0×0410) // Windows 98以降
- #if (WINVER >= 0×0500) // Windows Me/ 2000以降
- #if (WINVER >= 0×0501) // Windows XP/ Server 2003以降
- #if (WINVER >= 0×0502) // Windows XP SP2/ Server 2003 SP1以降
- #if (WINVER >= 0×0600) // Windows Vista/ Server 2008以降
- #if (WINVER >= 0×0601) // Windows 7以降
- #ifdef _WIN32_WINDOWS // Windows9x
- #if (_WIN32_WINDOWS >= 0×0400) // Windows 95以降
- #if (_WIN32_WINDOWS >= 0×0410) // Windows 98以降
- #if (_WIN32_WINDOWS >= 0×0500) // Windows Me以降
- #ifdef _WIN32_WINNT // WindowsNTx
- // Windows 2000以降(0×0500)
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) - // Windows XP/ Server 2003以降(0×0501)
#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP) - // Windows XP SP2/ Server 2003 SP1以降(0×0502)
#if (_WIN32_WINNT >= _WIN32_WINNT_WS03) - // Windows Vista以降(0×0600)
#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) - // Windows Server 2008以降(0×0600)
#if (_WIN32_WINNT >= _WIN32_WINNT_WS08) - // Windows 7以降(0×0601)
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
- // Windows 2000以降(0×0500)
- #ifdef _WIN32_WCE // WindowsCE
- #if (_WIN32_WCE >= 0×0420) // Windows Mobile 2003(PPC2003)
- #if (_WIN32_WCE >= 0×0421) // Windows Mobile 2003 SE(PPC2003SE)
- #if (_WIN32_WCE >= 0×0501) // Windows Mobile 5.0
- #if (_WIN32_WCE >= 0×0502) // Windows Mobile 6 Professional / Classic
- #if (WINCEOSVER >= 0×0300) // WindowsCE3.0(PPC2002)以降
- #if (WINCEOSVER >= 0×0420) // WindowsCE4.2(PPC2003)以降
- #if (WINCEOSVER >= 0×0500) // WindowsCE5.0(WM5.0)以降
- #ifdef WINVER
- Internet Explorer version
- #ifdef _WIN32_IE
- #if (_WIN32_IE>=0×0200) // Windows 95/NT 4.0(Comctl32.dll 4.00, Shell32.dll 4.00)
- #if (_WIN32_IE>=0×0300) // Internet Explorer 3.0, 3.01, 3.02
- #if (_WIN32_IE>=0×0400) // Internet Explorer 4.0
- #if (_WIN32_IE>=0×0401) // Internet Explorer 4.01
- #if (_WIN32_IE>=0×0500) // Internet Explorer 5.0, 5.0a, 5.0b
- #if (_WIN32_IE>=0×0501) // Internet Explorer 5.01
- #if (_WIN32_IE>=0×0550) // Internet Explorer 5.5
- #if (_WIN32_IE>=0×0600) // Internet Explorer 6.0
- #if (_WIN32_IE>=0×0601) // Internet Explorer 6.0 SP1
- #if (_WIN32_IE>=0×0603) // Internet Explorer 6.0 SP2
- #if (_WIN32_IE>=0×0700) // Internet Explorer 7.0
- #if (_WIN32_IE>=0×0800) // Internet Explorer 8.0
- #ifdef _WIN32_IE
- CUI
注意
プリプロセッサは、未定義の識別子を0として扱うため、#if __GNUC__ >= 3はGCC3以上として使えるが、
GCC2系かどうかを#if __GNUC__ < 3で判定しようとすると、GCCでないものも含まれる。
参考
mimo UM-740のインストール
同梱されているドライバCDは文字化けする上、UM-740が存在せず、UM-750となっており、
しかも、インストールを行うとAvira AntiVirに引っかかる危なさ。
これではまったくもって、信用できないため、Webから新しいドライバを入手してインストールした。
- ドライバの入手
- DisplayDriver
DisplayLink(DisplayLink-5.3.25973.exe) - TouchScreenDriver
mimo(091204a_touch_setup_v040106.zip)
- DisplayDriver
- 注意
グラフィックボードのドライバに依存してるため、グラフィックドライバのバージョンが古いとディスプレイアダプタのエラーを起こす場合がある。
上手く動作しない場合は、グラフィックスドライバを更新してみること。
JpegopitmをMinGWでコンパイルその2
- 2010年7月23日 12:00 AM
- ソフト
Jpegoptim.cの変更なんだけど下記の変更のほうが修正個所が1か所にまとまるしいいかも。
@@ -53,6 +53,39 @@
#define ICC_IDENT_STRING "ICC_PROFILE\0"
#define ICC_IDENT_STRING_SIZE 12
+#ifdef WIN32
+#define uid_t int
+#define gid_t int
+#define ROOT_UID 0
+#define ROOT_GID 0
+#define realpath(N,R) _fullpath((R),(N),_MAX_PATH)
+uid_t getuid(void)
+{
+ return ROOT_UID;
+}
+uid_t geteuid(void)
+{
+ return ROOT_UID;
+}
+gid_t getgid(void)
+{
+ return ROOT_GID;
+}
+gid_t getegid(void)
+{
+ return ROOT_GID;
+}
+int setuid(uid_t uid)
+{
+ return (uid == ROOT_UID ? 0 : -1);
+}
+int setgid(gid_t gid)
+{
+ return (gid == ROOT_GID ? 0 : -1);
+}
+
+#endif
+
void fatal(const char *msg);
struct my_error_mgr {
ホーム > タグ > メモ
- 検索
- フィード
- 翻訳










