がりらぼ

WindowsRuntimeの応援ブログ

アプリパッケージ化に失敗するあなたへ

Windowsストアアプリをつくっていると誰もが詰まる最後の難関。アプリパッケージ化について。
「署名に失敗しました。SignTool Error: An unexpected internal error has occurred.」みたいなエラーが発生します。
Windows8の知識を少し入り交えてしないと、できた人の事例の通りにやっても解決しないことが多いです。
需要は高そうなので画像を多めに使って解説したいと思います。

まず、通常の方法でパッケージ化するとまずこうなります。

管理者実行してもこうなります。

ここでよく言われてる解決方法が
「ローカルの管理者権限のアカウントに切り替える」
ここが初心者のはまりどころなのですが、
設定→ユーザー→ローカルアカウントへ切り替え
として、やってしまいがちです。

このアカウントでパッケージ化しても、パッケージ化失敗が繰り返されるだけです。
重要なのは全く別のローカルアカウントに切り替える必要があることです。

実はWindows8の通常使うアカウントである、
「Microsoftアカウント」と「ローカルアカウント」間はきり変えても同じアカウント間を移動しているだけで単にオンラインかオフラインかってだけです。

今回は管理者権限を持った、「全く新しいローカルアカウント」でやる必要があります。(ユーザーフォルダが新しく生成されることとなります)

では実際にパッケージ化までの流れを解説しましょう。
まず、チャームの設定→PCの設定→ユーザーで
ユーザーの追加をしましょう。

ここでさらに重要なのはMicrosoftアカウントを使わずにサインインするを押すことです

そしてローカルアカウントを選択します

ローカルアカウントはできましたでしょうか。
では次にそのローカルアカウントに切り替えましょう。
スタート画面のアカウント画像から
ローカルアカウントに切り替えます。

全く新しいアカウントなのでフォルダーグループも新しく作られます。起動に時間がかかります。

ローカルに切り替えれたら、
コントロールパネル→ユーザーアカウントとファミリーセーフティ→ユーザーアカウントから
アカウントの種類の変更を選びましょう。

管理者を選びます

こうすることで新しく作ったローカルアカウントに管理者権限を与えます。
次にスタート画面から、VisualStudio2012を右クリックから管理者として実行で
実行します。

では管理者権限を持っているので、メインアカウントのアプリのプロジェクトフォルダを
VisualStudioでひらいて、パッケージ化してみましょう。


できた

ConsumerPreview時代からあった問題でRTM版で改善されてないとなると
このまま製品リリースされそうですね。