yumetodoの旅とプログラミングとかの記録

旅や登山の記録やプログラミング関連の話とかフリーソフト紹介とか

東方幕華祭が起動できないと思ったら簡単な話だった

まあまず、東方幕華祭はどういうわけかKasperskyからPDM:Trojan.Win32.Bazon.aとか言われ、速攻で削除しにかかるので、スピード勝負で信頼オブジェクトに追加してやる必要がある。

で、本題。起動しようとするといきなり落ちる。なんでかとじっくり考えて、そういやこいつ今では開発が終わったXNAとかいうライブラリで作られてたなと思い出し、
Download Microsoft XNA Framework Redistributable 3.1 from Official Microsoft Download Center
をいれたところ、あっさり起動した。

他には.NET 3.5が必要だが、まあそれは普通に入っているからおいておいて、SpriteFontX.DLLが無いと

---------------------------
错误
---------------------------
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'SpriteFontX, Version=1.0.2.1, Culture=neutral, PublicKeyToken=null'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。

ファイル名 'SpriteFontX, Version=1.0.2.1, Culture=neutral, PublicKeyToken=null' です。

   場所 THMHJ.Main.Initialize()

   場所 Microsoft.Xna.Framework.Game.Run()

   場所 THMHJ.Program.Main(String[] args)



警告: アセンブリ バインドのログ記録がオフにされています。

アセンブリ バインドのエラー ログを有効にするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) を 1 に設定してください。

注意: アセンブリ バインドのエラー ログに関連するパフォーマンス ペナルティがあります。

この機能をオフにするには、レジストリ値 [HKLM\Software\Microsoft\Fusion!EnableLog] を削除します。


---------------------------
OK   
---------------------------

とか言われてしまう。

blog.sina.com.cn

DLC下载(覆盖即可):
http://pan.baidu.com/s/1gdFxBF1

とある方はSpriteFontX.DLLがどうもついてこない。

整合安装包下载:
http://pan.baidu.com/s/1ntskP8t

をからインストーラーを落として使うべし。

落ちてくるのは

名前: 东方幕华祭安装包(整合DLC).rar
サイズ: 279371278バイト (266 MB)
CRC32: E2515059
CRC64: 33C64E9776B30AF3
SHA256: 2C45F02427EFCA90A1239929E55D3633CE36E0317DD2C189C5F03150F1492292
SHA1: B6C438670B5F068D120A0940AAD8F327C136E320
BLAKE2sp: E6E1D014F9A62FCDDBA10F9B0F23D8506C90B1A4A09405B5676AD48C5DD95D57

こいつだ。

KeePass2 Plugin: Dropboxと同期できるKeeCloudがアップデートされたので注意点を書く

ドイツ語版

だいたい同じ内容が

KeePass-Datenbanken per Dropbox synchronisieren mit KeeCloud – Der Clouddoktor – Neues aus der Welt der Digitale Transformation und der Cloud

にあります。

Dropbox api v1が無効になった

2016/07/28にDropbox API v1がdeprecatedになり、v2に移行してくれという話が出てきた。

blogs.dropbox.com

2017/08/12頃には

Dropbox api v1 remove announce

のような警告文がメールに送られてきた。

これを受けてKeeCloudではDropbox api v2への移行を検討した。

devinmartin / KeeCloud / 課題 / #76 - Dropbox API v1 soon to be deactivated (Upgrade to API v2) — Bitbucket

検討された選択肢

KeeCloudは

github.com

DropNetというライブラリを使ってDropbox APIを叩いていた。ところがこのDropNetは

github.com

開発を終了した。

Dropbox公式で

github.com

dropbox-sdk-dotnetというのが出ているのでこれに乗り換えることにした。

devinmartin / KeeCloud / Pull request #6: Support OAuth 2 for Dropbox — Bitbucket

Breaking Change

DropBox APi v2でredirect URLを登録するのにlocalhostを使うとport衝突の可能性があるので、custom URL protocol handlerを使ってdropbox://から始まるURLを使うことになった

つまりURLがdropbox:///からdropbox://に変わる。

KeeCloudをUpdate/new installする方法

version upの場合は、念のため、以前にURL Credential Managerで認証した時に「Add Entry」を押した時にroot pathにできるKeeCloud Dropbox credentialsないしそれっぽい名前のエントリーを削除しておいてほしい。

URL Credential Manager

version upの場合でも以前のAPIキーは使えないのでこの手順は必須だ

まずKeePassを起動し、

URLCredetialWizard

ToolURL Credential Managerを選択する。

CredentialConfiguration1

選択肢をDropboxにしてNext、ブラウザが立ち上がる。

Dropbox API Request

許可を押すとむっちゃ長い(44文字!)APIキーが手に入るのでコピー

CredentialConfiguration2

KeePassのさっきのウィザードに戻り、貼り付けてNext

CredentialConfiguration3

こんなふうに表示されるので、Save as Entryを必ず押す。押し忘れたらやり直し。ちなみに一回押せば十分なので何回も押さないように。

同期設定

オフラインでも使えるようにかつ同期することを目指す。

KeePass_entry

さっきSave as Entryしたものはここにできる。パスワードをコピーする。タイムアウトに注意。素早く作業するかメモ帳かなにかに貼り付けておくべし。

trigger1

Tooltriggers...をクリック

trigger2

画像はversionアップ作業時のものなのですでにSyncWithDropboxという項目があるがなければAdd、すでにこれに類する作業をしていればその項目を選択してEditを押す。

trigger3

名前はここではSyncWithDropboxにした。好きなものでいい。他はいじらずEventsタブへ

trigger4

画像のようになるように調整してほしい。Actionsタブへ

trigger5

画像のようになるように調整してほしい。ここで2番目Synchronize activce database with a file/URLの設定だが

trigger6

こんな感じだ。

  • File/URL: dropbox://<path to your db file>.kdbx
  • IO Connection - User Name: ただのカカシ、なんでもいい。
  • IO Connection - Password: Save as EntryしたもののPassword欄。あのくっそ長いsecret keyを貼り付ける

URLがdropbox:///からdropbox://に変わったことに注意してほしい。

後はOKFinishOKで閉じて、Ctrl+Sで保存して完了!

: 一文字の定義

一文字、と一口にいってもいろいろある。というか4つある。

Q: How are characters counted when measuring the length or position of a character in a string?
http://unicode.org/faq/char_combmark.html#7

いっつもこのURL思い出せないのでメモ。