2015年7月27日月曜日

Windows Updateによるパソコンの性能低下を回避する

別の記事で「Windows Modules Installer」を停止すると、Windowsのディスクの使用率を正常値にできたというコメントをいただいたので「Windows Modules Installer」について調べてみました。

「Windows Modules Installer」は、Windows Updateと連携して、Windows の更新プログラムなどのインストール・削除を行うプログラムなのだそうです。


Windows UpdateやWindows Modules Installerによってパソコンのパフォーマンス低下が発生している場合は次の方法で改善する可能性があります。


Windows Updateの処理に時間がかかっている

→単純にWindows Updateに時間がかかっている可能性あり。1日くらい放置して様子をみる。


Windows Updateのデータベースが壊れている

→Windows Updateのデータベースを再作成する。
McAfeeなどのウイルス対策アプリケーションがWindows Updateのデータベースを破損させる場合があるそうです。以下のバッチファイルを作成することにより、Windows Updateのデータベースを再作成することができます。

net stop wuauserv
cd %systemroot%
ren SoftwareDistribution SoftwareDistribution.old
net start wuauserv
※このバッチを実行してしばらく様子をみて問題なければ、SoftwareDistribution.oldは不要なので削除可能。

WindowsUpdateのファイルに対するセキュリティソフトのチェックに時間がかかっている。

→以下のファイルをセキュリティソフトのチェックから除外する。
%windir%\SoftwareDistribution \Datastore\Datastore.edb

%windir%\SoftwareDistribution\Datastore\Logs
 Edbres00001.jrs
 Edbres00002.jrs
 Edb.chk
 Tmp.edb

%windir%\security
 Edb.chk
 Edb.log
 Edbres00001.jrs
 Edbres00002.jrs
 secedit.sdb


Windows Updateが壊れている。

→以下の手順でWindows Updateをリセットする。
Windows Update のコンポーネントをリセットする方法
https://support.microsoft.com/ja-jp/kb/971058




参考

カスペルスキー インターネット セキュリティ  ウイルススキャンから除外できるファイル
http://support.kaspersky.co.jp/2746

Windows Update Web サイトまたは Microsoft Update Web サイトに接続して更新プログラムをインストールするときにエラー コード 0xC80001FE が表示される
https://support.microsoft.com/ja-jp/kb/958048

2015年7月22日水曜日

SourceTreeのDiffがときどき文字化けするときの対処方法

SourceTreeを使っていてUTF-8で管理しているのに時々文字化けすることがあります。

ファイル内の日本語を増やせば解決することは、なんとなく感じていたのですが、以下の記事を読んで理解が深まりました。(SourceTree 1.6.17で確認)


SourceTreeの文字コードの判断

BOMがある場合は、BOMに従った文字コードを採用
  ↓
 BOMなし
  ↓
ファイルの先頭512バイトからSorceTreeが自動判断(誤検知される可能性あり)
  ↓
 自動判断できない
  ↓
Tools > Options > Languageで指定されている文字コードを採用


文字化け対策

  • BOMを付ける。
  • ファイルの先頭512バイトの日本語を増やす。(ソースコードのコメントなどで)

ReleaseNote

SourceTree 1.1.0
We now support non-UTF8 extended characters via codepages. Auto-detect will often work but you should set your preferred fallback codepage in Tools > Options.

UTF8以外のコードページをサポート
自動検出するが、[ツール]> [オプション]で代替えコードページを指定できる。


SourceTree 1.1.1
Fix several cases of UTF8 and other extended characters not being rendered in the diff correctly.

UTF8やその他の文字コードでDiffが正しく表示できない問題をいくつか修正した。

SourceTree 1.2.3
Fix diff issues with a text sequence like '+99-' which triggers a false-positive for UTF-7 encoding (SRCTREEWIN-1053)

『+99-』のような文字列がUTF-7エンコーディングに誤検知される問題を修正した。



 参考

SourceTree Windows版で文字化けが起こる 問題の解決
http://d.hatena.ne.jp/iww/20150615/sourcetree


2015年7月21日火曜日

Logicoolマウスのペアリング解除(マイマウス整理)などの設定方法

ロジクール(Logicool?海外ではLogitech?)のマウスを愛用しています。
ロジクールのマウスは1つのレシーバーでマウスやキーボードを複数台接続することができます。 複数台の接続(ペアリング)はドライバと一緒にインストールされる「Logicool Unifying ソフトウェア」で簡単に設定できます。
しかし、これまで次の事をやる方法を知りませんでしたが、先日ついに見つけました。

  •  ペアリングしているマウス・キーボードの一覧
  •  ペアリングの解除
  •  「マウスおよびキーボードの設定」から不要になったマイ マウス・マイ キーボードの削除
  •  マウス・キーボードのファームウェアの更新
4つ目のファームウエアの更新はできるとは思っていませんでしたが、今回偶然見つけました。

方法

ドライバであるSetPointをインストールすると、ドライバだけでなく、「Logicool Unifying ソフトウェア」と「マウスおよびキーボードの設定」もインストールされます。

「Logicool Unifying ソフトウェア」を起動し、最初の画面で「詳細」ボタンを押下します。
 

 

 

左側のツリーがペアリングされているマウス キーボードの一覧です。

一覧からマウスもしくはキーボードを選択すると、右側に「ペアリング解除」「ファームウエアを更新する」ボタンが表示されます。(ペアリングを解除することにより、「マウスおよびキーボードの設定」のマイ マウス・マイ キーボードの一覧を整理できます。)


参考:「マウスおよびキーボードの設定」のマイ マウス


「マウスおよびキーボードの設定」にマイ マウス・マイ キーボードが表示されない場合の対処

  • 次のフォルダをエクスプローラで開く
      %Systemroot%\System32\drivers

  • 次のファイルをリネームする。
      wdf01000.sys(例 wdf01000.bak に変更する。)

  • setpointを再インストールして再起動する。

  • wdf01000.sysファイルが再作成されていない場合は、リネームしたファイルを元の名前に戻して再度、再起動する。

参考

SetPoint でマウスまたはキーボードをカスタマイズできない
  

2015年7月9日木曜日

TortoiseSVN認証なしの時の作者の名前(ユーザ名)を変更する。

TortoiseSVNの作者名(ユーザー名)

TortoiseSVNは認証が必要なリポジトリの場合は、初回ログインの時に作者名(ユーザー名、ログインアカウント)を入力するダイアログが出力される。しかし、認証不要のリポジトリの場合は、作者名を設定することはできず、自動でWindowsアカウントになる。



TortoiseSVNのコマンドラインクライアントをインストール

TortoiseSVNはデフォルトでインストールされる「TortoiseProc.exe」を使用してコマンドラインでの実行もできるが 作者名(ユーザー)を変更したい場合などは「svn.exe」が必要になる。

「svn.exe」は専用のパッケージもあるが、「TortoiseSVN」と別にインストールしてsvnのバージョン差があると 作業コピーの更新ができなくなる問題などもあるので、TortoiseSVNがインストールされている場合は、「TortoiseSVN」の追加機能としてインストールする。

すでに「TortoiseSVN」をインストール済であっても「TortoiseSVN」のインストーラを再度実行すれば追加インストール可能。



設定したいログインアカウントの入力

以下のコマンドは本来ローカルの作業ワークディレクトリを更新するコマンドであるが、このコマンドで「--username」オプションを付けて実行すると、オプションの値が以降のユーザー名の初期値となる。 TortoiseSVNもこの値を参照しているため、このコマンドを実行した後はTortoiseSVNでコミットした場合も「--username」オプションで指定した名前になる。

svn update ローカルのワークディレクトリ --username ログインしたいユーザー名


ちなみに、作者名(ユーザー名)が変わったことを確認するには、ロックを取得すると作者名(ユーザー名)がわかる。

認証なしのユーザーアカウントの情報

以下のフォルダに保存されるが、リポジトリ毎に乱数(ハッシュ値?)のファイル名となるため、手動での設定は不可能。ファイルの中身はテキストであるため、ファイルの内容からどのリポジトリの設定であるかは判断可能。

C:\Users\ユーザー名\AppData\Roaming\Subversion\auth\svn.username
svn.simple      BASIC 認証 (ユーザ名/パスワード) の証明書がある。
svn.ssl.server    SSL サーバ証明書がある。

Windowsの製品名の後ろに付くN、K、KN記号

Edition N

欧州委員会の要求を受けて用意されたエディション
消費者の選択権を狭めるとして、競争法違反に問われたため

Edition KおよびEdition KN

韓国公正取引委員会(KFTC)の要求を受けて用意されたエディション
KはWindows Media PlayerおよびWindows Messengerを削除し、競合他社製インスタント・メッセージング(IM)アプリケーションをダウンロードできるWebサイトのリンク・リストを提供している。

KNはWindows Media PlayerおよびWindows Messengerを削除している。
欧州連合域内におけるメディア プレーヤーに加えて、インスタント メッセンジャーについても消費者の選択権を狭めるとして、独占禁止法違反に問われたため。

欧州委員会の要求を受けて用意された Windows 8.1 N および韓国公正取引委員会の要求を受けて用意された Windows 8.1 KN 向けのWindows Media Player とそれに関連する技術が含まれるMedia Feature Pack(メディア機能パック)も公開されています。



Windows 8.1 N および Windows 8.1 KN 向けの Windows Media Player が公開される
http://usiwin.blogspot.jp/2013/10/windows-81-n-windows-81-kn-windows.html
マイクロソフトのソフトウェアに付いているN, K, and KNの意味CommentsAdd Star
http://d.hatena.ne.jp/paz3/20091119/1258600577
   

欧州委員会、Media PlayerなしのWindowsを「Windows XP N」と命名~Microsoftは受け入れる方針
http://pc.watch.impress.co.jp/docs/2005/0329/ms.htm

米MS,韓国でWindows Media Player非搭載「Windows XP K/KN」を発売へ
http://itpro.nikkeibp.co.jp/article/USNEWS/20060824/246315/

VisualStudioでサービスにアタッチする以外のWindows サービスデバッグ方法

Debugger.Launch()でデバッグを開始する。

この方法であれば、Windows サービスのコンストラクターであるOnStartメソッドもデバッグ可能になる。デバッグを開始する手順も簡単だが、ソースコードに書き加える必要がある。

OnStartメソッドに「Debugger.Launch()」と書く
サービスを開始する
「Visual Studioでデバッグしますか?」と聞いてくるので、開いておいたVisual Studio(開発環境)を一覧から選ぶ。


WindowsサービスでセルフホストしているWCFのデバッグ

WCFのサービスをデバッグ時に以下のエラーになる場合は、「<compilation debug="true" />」が不足している可能性が高い。
  'XXXX' を自動的にデバッグできません。
  リモート プロシージャはデバッグできません。
  これは通常、サーバー上でデバッグが有効になっていないことを示しています。
  詳細については、ヘルプを参照してください。

WindowsサービスでセルフホストしているWCF サービスをデバッグする場合は、
app.config ファイルでデバッグが有効にされている必要がある。 
<?xml version="1.0"?>
<configuration>
<appSettings>
   <!-- この項目は任意 -->
</appSettings>
<system.web>
  <compilation debug="true" />
<system.web>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- メタデータ情報の開示を避けるには展開する前に下の値を false に設定します -->
          <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True" />
         
          <!-- 例外の詳細を受け取るには、下の値を true に設定します。 -->
          <serviceDebug includeExceptionDetailInFaults="True" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>
</configuration>

Windowsサービス登録

\installutil.exe [パス]\サービス.exe Windows サービス解除
\installutil.exe /u [パス]\サービス.exe

参考

C#, Windowsサービスのデバッグ
http://blog.livedoor.jp/nanoris/archives/51755459.html
Windows Serviceのデバッグを簡単に行う方法
http://backyard.hatenablog.com/entry/20130301/1362135598
OnStart メソッドをデバッグする
https://msdn.microsoft.com/ja-jp/library/cktt23yw.aspx?f=255&MSPPError=-2147217396