Translate

2012年6月13日水曜日

Windowsキー

 タスクバーのスタートメニューを開くためのWindowsキーですが、Windowsキーを使った便利なショートカットが意外とたくさんあります。
 新たに発見したショートカットもあったので説明と合わせて備忘録に残します。

ショートカットの一覧

Windowsキーと
組合せるキー
説明
EWindowsエクスプローラを開く
Rファイル名を指定して実行
Lコンピュータのロック
Windowsキー

2012年6月1日金曜日

Thunderbirdのゴミ箱が消えてメールが削除できない

 Thunderbirdでメッセージを削除しようと、「Delete」キーを押してもメニューの「メッセージの削除」を選択しても何も反応せず、メッセージを別のフォルダに移動したりメールの送受信などは問題なく行えるような事があります。
 この症状、ゴミ箱のファイル"Trash”が破損していることが原因なのですが、そもそもゴミ箱フォルダが表示されないためフォルダの修復が使えません。
 そんなときの対処法を以下にまとめます。
ゴミ箱の復元方法についてもっと簡単な方法がありましたので、まずはこちらを試してください。
Thunderbirdのゴミ箱が消えてメールが削除できない場合の対処法

■症状

  • メッセージの削除ができない(「Delete」キーもメニューの「メッセージの削除」も無反応)
  • アカウント内にゴミ箱が無い

■原因

Thunderbirdのゴミ箱は「Trash」と「Trash.msf」という2つのファイルから構成されています。このうち「Trash」がデータの実体で「Trash.msf」はインデックスの役割を果たしています。
この症状ではデータ本体の「Trash」が破損している、もしくは消えてしまっているため起こるようです。

■対処方法

プロファイル内のアカウントフォルダからゴミ箱の情報(「Trash」及び「Trash.msf」)を削除する。
  1.  Thunderbirdのアカウント設定からメールの保存先のパスをコピーする
  2. アカウント設定のサーバ設定の右下の方にメールの保存場所があります。
    アカウント設定
  3. Thunderbirdを終了しエクスプローラを開く
  4. ファイルを削除する前にThunderbirdを終了しておいてください。
  5. エクスプローラのアドレスにコピーしたパスを入力する
  6. エクスプローラを開いて「アドレス」に先ほどコピーしたパスを入力する。
    ※エクスプローラは[Windowsキー]+[E]で開くことができます
    エクスプローラ
  7. ゴミ箱のファイルを削除してThunderbirdを起動する
  8. Trash及びTrash.msfの二つのファイルを消して、Thunderbirdを起動するとゴミ箱が復活します。

■注意事項

  • この対処法ではデータ本体を削除しますのでゴミ箱の中身は戻ってきませんので注意してください。
  • ファイルを直接扱うため自信の無い方はバックアップなどしてから行ってください。
  • この方法では復旧しないことがあるようです。復旧しなかった場合の対処法については後日投稿する予定です。

2012年4月25日水曜日

Acrobatで印刷ダイヤログが開かない

AcrobatやAdobeReaderで印刷しようとすると下のようなエラーが出て印刷ダイヤログが出ないことがあります。
 通常はメッセージにあるようにプリンタドライバがインストールされていない事が原因なのですが、ネットワークプリンタを使用していて且つその名前を変えた場合にも同じメッセージが出てくることがあります。
 プリンタもインストールされており印刷プレビューも見れるため原因が分かりにくいが、通常使うプリンタが何らかの原因によって接続できない場合も同様のエラーを出すようです。

■エラーメッセージ

「ページ設定やドキュメントの印刷など、プリンタ関連の操作を行う前に、プリンタをインストールする必要があります。」
(Before you can perform printer-related tasks such as page setup or printing a document, you need to install a printer.)

■症状

  • 印刷プレビューは見れる
  • 印刷設定のダイヤログは開き別のプリンタを選択してもエラーが解消されない
  • 一つ以上のプリンタがインストールされている

■原因

 エラーの原因は 「通常使うプリンタ」に設定されているプリンタがネットワークプリンタで、且つそのプリンタの共有名を変更した事によるものでした。
 通常使うプリンタに接続できないとエラーを出してプリンタダイヤログが開かなくなるため、別のプリンタに切り替えることもできなくなっていたようです。ただ、予め印刷設定によってプリンタを変えた場合もエラーが改善されないところを見ると、「通常使うプリンタ」に対して何らかの特殊な処理がなされているのかもしれません。

■解決方法

 使用できるプリンタを「通常使うプリンタ」に設定しなおす。

2012年2月27日月曜日

トランザクションレプリケーションの更新可能なサブスクリプション

 SQLServer2005のトランザクションレプリケーションで2拠点間のデータベースを同期するために、作業の中で問題になったところとその解決方法についてまとめておきます。

■構成

 SQLServer2005 Standardをパブリッシャ、SQLServer2005 Expressをサブスクライバとして、「トランザクションレプリケーションの更新可能なサブスクリプション」を組むこと。

■注意点

 以上のような構成を「SQL Server Management Studio」のウィザードで組むためには、次のような注意点があげられる。
  • Distributed Transaction Coordinatorサービスを自動起動するように設定する
  • SQLサーバの認証を「SQL Server認証モードとWindows認証モード」にしておく
  • サブスクライバから接続するためのアカウント情報を、予めパブリッシャに登録しておく

■Distributed Transaction Coordinatorサービス

 サブスクライバからパブリッシャへ更新をトランザクションするには、サービスの「Distributor Transaction Coordinator」サービスを使用するので、次の設定をしてサービスを起動するように設定するようにする必要があります。
  1. パブリッシャとサブスクライバの双方でDistributed Transaction Coordinator(msdtc.exe)サービスを自動実行させる
  2. コントロールパネルの「管理ツール → コンポーネント サービス」を開き、コンソール ルートの「コンポーネント サービス → コンピュータ → マイ コンピュータ」のプロパティをから、msdtc.exeのセキュリティの構成を変更する
  • 「ネットワークDTCアクセス」にチェックを入れる
  • トランザクションマネージャ通信の「受信と送信を許可する」にチェックを入れる
  • 「認証を必要としない」を選択する
MSDTC「セキュリティの構成」

■SQLServerの認証方法

 サーバ認証の方法を、「SQL Server認証モードとWindows認証モード」に変更する。
サーバのプロパティ

■サブスクライブ用のアカウントを作成する

 パブリッシャ側のセキュリティに、予めサブスクライバ側からトランザクションする際に使用するアカウントを追加する。基本的にはレプリケーションを行うデータベースへの読込と書込の権限があれば十分です。
 このアカウントは、サブスクライバの一般ユーザーアカウントをパブリッシャのデータベースに接続するために、リンクサーバのプロパティで使用します。
  1. パブリッシャの「セキュリティ → ログイン」にユーザーアカウントを作成
  2. 認証方法は「SQLServer認証」にして、ログイン名とパスワードは任意
  3. ユーザーマッピングでレプリケートするデータベースにチェックを入れ、"db_datareader"と"db_datawriter"にチェックを入れる
  • この際アカウントの認証方法はSQL Server認証にする必要があります

■パプリケーションとサブスクライバを設定する

 主な設定方法に関しては、Microsoftのサイトなどにも解説されているのでそちらを参考にする。
トランザクション パブリケーションの更新サブスクリプションを有効にする方法 (SQL Server Management Studio)
トランザクション パブリケーションに対して更新可能なサブスクリプションを作成する方法 (SQL Server Management Studio)
  • 更新可能なサブスクリプション用のログイン」ページで、”サブスクライブ用のアカウントを作成する”で作成したアカウントとパスワードを入力する。
  • ExpressにはAgentが無いため、ディストリビュータはパブリッシャ側に置く

■パプリケーションにユーザーを追加する

 最後にパプリケーションのプロパティを開き「パプリケーション アクセス リスト」のページで、実際にサブスクライバ側のサーバに接続してデータを更新するユーザーのアカウントを追加します。

2012年2月20日月曜日

WiXでファイアウォールの例外登録

最近のWindowsはセキュリティが向上した反面、システム開発の立場からは非常にやりにくい状況になっています。特にファイアウォールに関しては Windowsファイアウォールのほかにも、各種セキュリティーソフトなどそれぞれに設定方法が違って頭を悩ませるには十分の内容です。

WiX3.0以降でファイアウォールの例外登録ができることがわかったので、備忘録として設定方法について記録しておきます。

まず、ファイアウォールの機能はExtensionとして提供されているので、ソース(*.wxs)とコンパイル(Candle)、リンク(Light)の3箇所に手を加える必要があります。

■ソース

FirewallExtensionを使用するためには、まずはじめにWix要素に「FirewallExtension」を名前空間「fire」としてインクルードするための一文を追加する必要があります。
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:fire="http://schemas.microsoft.com/wix/FirewallExtension">
次に、ファイアウォールを設定したいFile要素もしくはComponent要素に、FirewallException要素を追加します。下の例はアプリケーションの実行ファイル(myapp.exe)に対して通信を許可する例外を追加するものです。

このほかにも特定ポートなどの通信を許可する設定などもできるようです。
<File Id="myapp.exe" Name="myapp.exe" Source="D:\MyApp\myapp.exe" KeyPath="yes">
    <fire:FirewallException Id="myapp.exe" Name="MyAppName" Scope="any"/>
</File>
※ファイアウォールの要素名には接頭辞「fire:」をつける必要があります。

■コンパイル&リンク

インストーラのコンパイルとリンクの際には、引数に"-ext"を使って「WiXFirewallExtension」ライブラリを追加する必要があります。
candle.exe myapp.wxs -out myapp.wixobj -ext WixFirewallExtension

light.exe myapp.wixobj -ext WixUIExtension -ext WixFirewallExtension -cultures:ja-jp  -out myapp.msi -pdbout myapp.wixpdb myapp.wixobj
以上です。

赤で書いたところが追加が必要なところです。

2012年2月17日金曜日

既定のブラウザ(メールクライアント)の設定が毎回出てくる

 ブラウザやメールクライアントにMicrosoft製の製品以外を使用していると、まれに既定のブラウザやメールクライアントの設定を毎回聞いてくることがあります。
 この不具合による問題点と解決方法を以下に説明します。

■問題点

このような症状が出ている場合、次のような問題も発生します。
  • 毎回既定の設定を聞いてくる
  • アプリケーションからメールに添付して送信しようとするとエラーになる、もしくはOutlookExpressが起動する
  • アプリケーションからURLを開こうとするとエラーになる、もしくはInternetExplorerが起動する

■解決方法

次の設定を行うことで既定のブラウザやメールクライアントを変更することができます。
  • Windows XP

  1. コントロールパネルを開き「プログラムの追加と削除」を起動します。
  2. ダイヤログの左端にある「プログラムのアクセスと既定の設定」を選択します。
  3. 右の枠から「カスタム」を選択して、既定のブラウザやメールクライアントにチェックを付けます。
  • Windows Vista/7

  1. スタートメニューから「既定のプログラム」を選択し「コントロールパネル」の「既定のプログラム」を開きます。
  2. 次に「プログラムのアクセスとコンピュータの既定の設定」を選択します。
  3. 「カスタム」を選択して、既定のブラウザやメールクライアントにチェックを付けます。 

■参考資料

Thunderbirdの索引ファイル(msf)の破損について

Thunderbirdを使用していると稀にmsfファイルが破損したので修復をしてください。という類のメッセージが表示されることがあります。
これが表示されると受信ファイルなどの内容が表示されないなどの問題が出て非常に使い勝手が悪い・・・

また、msfファイルが破損していると内容が表示されないまでも、Thunderbird全体のパフォーマンスが落ちるなどの不具合もあるようです。

これの対処方法について説明します。

■症状

 Thunderbirdを起動すると、次のようなメッセージが表示される?
症状を確認していないためダイヤログの画像はありません・・・

■対処方法

問題の発生したフォルダのプロパティを表示して、「フォルダを修復(R)」ボタンを押すだけ。

■注意事項

 フォルダの修復を実行すると、メールの重要度やスターマークなどの情報が失われるらしいので注意してください。確認した限りではそれらの情報は失われてませんでしたが・・・