どのタイミングでそうなったのかわからなかったのですが、表題の通り VS2019 で新規で UWP プロジェクトを作成して実行してもエラーで実行できませんでした。Windows を再起動してもダメ。
とりあえずネットで探して以下のページで紹介されている内容で対応しました、
]]>タイトルの通りなのですが、メールアドレスのエイリアスを作成しようとしたときに、アドレスに「contact」という文字列をいれた状態で作成しようとすると「XXXXXXX(メールアドレス)は使えません。」というエラーメッセージが出て作成できません。リンク先のヘルプもエラーについては一切触れていないのでハマってしまいました。
数字や記号を入れたり、文字を並び替えたりしても作成できず、もう適当でいいやと思って打ったら「contact」が「contacf」になったらしく作成できました。
エイリアスの作成でしか試していませんが、もしかしたら通常のアカウント作成時でもそうなるのかもしれません。メールによる詐欺を防ぐとかのためでしょうか。
]]>環境
あるタイミングで Visual Studio から Windows ストアアプリをデバッグ実行しようとしたときにエラーが発生して実行できなくなったので、それの対処法を書いておきます。
デバッグ実行しようとすると、ストアアプリのウィンドウは表示されるけど、その後エラーダイアログが表示されてアプリケーションが終了してしまいます。ダイアログの表示内容は
Windows ストア アプリ '{GUID}!App' をアクティブにできません。{AppName}.Windows.exe プロセスが開始されましたが、アクティベーション要求がエラー 'アプリは開始されませんでした' で失敗しました。
という内容です。(キャプチャ忘れました。)
一応この件についてヘルプを見ろという指示がでるので、見てみると以下の URL に誘導されます。
そこではイベントビューアーを使ってログの内容を見ろという内容が書かれているので、ログを確認してみました。すると内容は
エラー アプリは開始されませんでした。 によりアプリ {GUID}!App を Windows.Launch コントラクトに対してライセンス認証できませんでした。
と書かれていました。文章がおかしい気もしますが、ライセンスやアクティベーションがらみでのエラーと読み取ることができます。
ですが、Microsoft アカウントや Visual Studio の認証系を一通りチェックしたのですが、エラーはなくなりませんでした。仕方ないのでエラーメッセージをもとに調べてみると「bin フォルダを削除しろ」というお達しを見つけたので、指示通りに削除して再実行したところ正常に起動できるようになりました。
私の環境では複数の PC でファイルを同期させているのですが、 bin フォルダ内も対象であるため、ほかの PC の認証情報が別 PC にコピーされて、それで正常に起動できなくなったのかもしれません。
]]>環境
環境を Windows 10 (新規)に移行して Visual Studio 2015 を入れたのですが、以前のプロジェクトを編集していると一部のプロジェクトでアセンブリ署名がうまく設定されない現象に出くわしました。
原因を探るために新規プロジェクトを作成して試してみました。今回はコンソールアプリケーションです。プロジェクトを作成しただけで特に何も追加していません。
プロジェクトのプロパティを開き、アセンブリの署名キーを作成します。
ファイル名とパスワードを入力します。
しかし、「操作を完了できませんでした。アクセスが拒否されました。」のエラーメッセージが出てしまいました。
プロジェクトにもキーファイルは追加されていません。
ただ、エクスプローラーを見るとファイルだけは作成されているようです。
試しに、このpfxファイルを参照して設定してみます。
作成されたpfxファイルを選択します。
先ほど入力したパスワードを入力します。
しかし今度は「存在しないトークンを参照しようとしました。」というエラーメッセージが表示されました。
もちろん、キーファイルは設定されていません。
しかし、今度はプロジェクトには追加されているようです。
正規の解決方法なのかはわかりませんがうまく対応できたので手順を載せておきます。
いろいろ調べてみると「C:ProgramDataMicrosoftCryptoRSAMachineKeys」フォルダに対して更新権限がないために起こっているエラーのようでした。試しに、そのフォルダに対してファイルを作成しようとしても作成できないことが確認できます。
ちなみに、正常に動作している環境ではファイルが作成できるようになっていました。
なぜこのような違いが起こったのかわかりませんが、とりあえずログインしているユーザーでフルコントロールを割り当ててみました。ちなみに正常に動作している環境のセキュリティを確認したところ、「Everyone」「Administrators」のみで、どちらもアクセス許可にはすべてチェックはついていませんでした。
セキュリティの設定を行ったところ、作成したプロジェクトでキーファイルが設定できるようになりました。
もともと正常に動作している環境、動作しなかった環境はいずれも「Windows 10 Pro」「Visual Studio 2015 Community」なのですが、Windows 10 に移行した際の手順によってもしかしたら違いが出たのかもしれません。
Windows 10 新規インストール | OK |
Windows 8.1 Professional から Windows 10 へアップグレード | OK |
Windows 8.1 Enterprise から Windows 10 へアプリ以外をアップグレード | NG |
また、今回は「C:ProgramDataMicrosoftCryptoRSAMachineKeys」フォルダにセキュリティのアクセス許可を追加しましたが、セキュリティ的にリスクがないかどうかはよくわかっていません。試される方はその点を認識したうえで行ってください。
]]>Windows XP 以降のテスト環境を用意するために Hyper-V のゲスト環境に用意しているのですが、久々に Windows Update をかけようとしたら Windows Update ができなくなっていました。Windows Server 2003 R2 では Microsoft Update のサイトが無限リフレッシュしてまったく進まなかったり、Windows Vista あたりはサービスが動いていないとか Windows 再起動しなさいというメッセージがでるので指示どおりやっても同じメッセージの繰り返しでした。
Hyper-V の前のバージョンのゲスト PC を持ってきたせいなのか、過去のチェックポイントを適用したせいなのかは定かではないのですが、修復方法についていろいろ調べてひととおり戻ったので手順についてまとめてみました。同じような現象になった人は参考にしてみてください。
]]>
メモ書きです。
原因がよくわかっていないのですが、Visual Studio で ASP.NET アプリケーションをデバッグ実行したときに以下のエラー(例外)が表示されて、その後の処理が正常に行われない現象が発生する場合があります。
型 'System.UnauthorizedAccessException' の初回例外が mscorlib.dll で発生しました
追加情報:パス 'C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files~AspAccessCheck_71d98a9c21352.tmp' へのアクセスが拒否されました。
※「71d98a9c21352」はたぶん一時的に決められた値
これを解決するには「C:WindowsMicrosoft.NETFrameworkv4.0.30319」フォルダにある「Temporary ASP.NET Files」フォルダを削除してしまいます。たぶんフォルダの中には何も入っていないはずです。削除後デバッグ実行すると正常に動作する場合があります。(実行しても Temporary ASP.NET Files フォルダは作成されないようです)
]]>環境
SQL Server Management Studio で「round(0.50, 0)」のように0.5<=x<1の範囲を round すると「expression をデータ型 numeric に変換中に、算術オーバーフロー エラーが発生しました。」というエラーが発生します。
下のコードのコメントを外すと確認できると思います。
select
round(0.01, 0) as [0.01]
,round(0.49, 0) as [0.49]
--,round(0.50, 0) as [0.50] -- expression をデータ型 numeric に変換中に、
--,round(0.99, 0) as [0.99] -- 算術オーバーフロー エラーが発生しました。
,round(cast(0.50 as numeric(10, 2)), 0) as [0.50]
,round(cast(0.99 as numeric(10, 2)), 0) as [0.99]
,round(1.01, 0) as [1.01]
,round(1.49, 0) as [1.49]
,round(1.50, 0) as [1.50]
,round(1.99, 0) as [1.99]
,round(2.01, 0) as [2.01]
調べてみるとどうやら SQL Server Management Studio で実行したときだけ出るようで、プログラムなどから SQL を投げた場合ではエラーは出ないようです。
環境
ここに書かれている内容は動作を保証するものではありませんので、ここに書かれている内容を実行する場合は自己責任で行ってください。
Hyper-V のゲストOS環境として Windows Server 2008系列をインストールしている場合に、VHD ファイルを別なPC に移行して新しい環境で稼働させると、結構高い確率で Windows Update が実行できない状況に陥ります。ですが、この状態に陥る現象はよくわかっていません。
一度上の状態になってしまうと、更新プログラムの確認ボタンを押しても下のようなダイアログが表示され実行できず、OS を再起動しても直りません。
これを直すには .bat ファイルを作成し、以下のコードを作成しておきます。.bat は新規でテキストファイルを作成して拡張子を変えたもので構いません。文字コードは Ascii と同じコードをもつ Shift-JIS や UTF-8 (BOM なし)で保存してください。
net stop wuauserv
cd %systemroot%
ren SoftwareDistribution SoftwareDistributionold
net start wuauserv
net stop bits
net start bits
net stop cryptsvc
cd %systemroot%system32
ren catroot2 catroot2old
net start cryptsvc
ファイルを作成したらダブルクリックして実行します。コマンドプロンプトが表示されて処理が開始され、完了すると自動的に閉じられます。
実行が終わったら OS を再起動して Windows Update を実行します。最初の画像のようにエラーが表示されているままの状態になっていますが、更新プログラムの確認ボタンをクリックして正常に Windows Update が実行されるか確認してみてください。
]]>最近 Word 2010 を起動するを必ず「動作を停止しました」というエラーメッセージが表示されて起動できなくなる現象に悩まされていました。いったんインストーラーから修復をかけて何回かは問題なく起動できるようになったんですが、それからまた起動時にエラーが出るようになってしまいました。
そこでネットで調べてみたところずばりの解決方法が書いてありました。
確かに最近 Bluetooth のキーボードを使うために Bluetooth の USB アダプタを PC につけていました。Word の設定で Send to Bluetooth のチェックを外したら正常に起動できるようになりました。
]]>