tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルclickonceがインストール後起動できない
記事No11436
投稿日: 2015/06/02(Tue) 22:55
投稿者ふくくん
clickonceを発行し、インストールしましたが起動出来ません。
ライセンス認証により例外が発生しました となります

試したこと
インストールされているフォルダー(C:\Users\××\AppData\Local\Apps\2.0)を削除し、再度試したがだめでした。
上記フォルダー内にあるexeファイルを直接実行すると起動します。
配布サーバーをlinux&apache2.2や、上記のクライアントPCのapache上でためしても変わりません。
引っ張りだしたXP&Office2003で発行したところ正常に作動しました。

環境
配布サーバー
Windows Server 2008 R2
apache 2.2

クライアント(開発マシン)
Windows 7 Pro 32bit
VS2008
Office2010

思えば、開発機のOfficeを2003から2010にあげなくてはいけなくなり2010に変更しましたが、そのせいではないかと思っています。
いろいろ調べて試しましたが、お手上げ状態です。
何か他に考えれることはないでしょうか。

[ツリー表示へ]
タイトルRe: clickonceがインストール後起動できない
記事No11437
投稿日: 2015/06/03(Wed) 09:59
投稿者魔界の仮面弁士
> ライセンス認証により例外が発生しました となります
エラーメッセージ中に、インストールログファイルのパスが記載されていますよね。
ログファイルの、該当箇所付近の抜粋して公開できないでしょうか?


失敗する要因は幾つかあり、それぞれでエラーログの内容が異なるはずなのですが、
どの要因でどのエラーが出るのかまでは覚えていません。すみません。


とりあえず思いつく範囲で:


・以前のビルドと今回のビルドで、配布パッケージの電子署名シグネチャが
 異なっているため、同一アプリと認識されずに自動更新に失敗。
→EXE 自体の実行には問題が無いが、自動更新での配置が失敗するパターン。
→ClickOnce マニフェストの署名が同一かどうか確認し、別のものであれば、
 以前の電子証明書で署名して配置しなおす。


・以前のビルドと今回のビルドが異なっていて(x86、AnyCPU、x64等)、
 同一アプリと認識されていない。
→単体起動はできる可能性があるが、自動更新での配置は失敗するパターン。
→リビルドしなおして再配置するのが最善。難しければ、ユーザー側で旧バージョンを
 アンインストールしてもらい、新規にインストールしなおす。


・インストール先サーバーまたは更新先サーバーの指定(≠発行先サーバー)が間違っている。
→MAGE.EXE もしくは Visual Studio でのパッケージ作成時の URL を再確認する。
→サーバー側で接続拒否された場合などにエラーが発生することがあります。SSL の有無にも気をつけて。


・通信障害などにより、インストールが中途半端な状態となっている。
→Local Settings\Apps\2.0 配下を削除して再度実行。既に試されているはずなので今回は非該当。


・必須コンポーネントの配置エラー。
→参照設定されているDLL群のバージョンが適切か、また、それらの依存ファイルが
 グローバルアセンブリキャッシュもしくはEXEと同じフォルダに配置されるよう
 構成されているかをチェックする。
→単体起動できるみたいなので、今回は該当しないかも。


・クライアントの特定フォルダの書込みアクセス権、あるいは machine.config 等の読取権限などが
 不足していて、配置に失敗している。
→一応列挙しましたが、今回は該当しないはず。


あとは何があったかな…。



> 引っ張りだしたXP&Office2003で発行したところ正常に作動しました。
現環境で作成した配布パッケージと、XP環境で作成した配布パッケージの両方があるのなら、
それぞれの配置マニフェストの内容を見比べてみては如何でしょう。


> 思えば、開発機のOfficeを2003から2010にあげなくてはいけなくなり2010に変更しましたが、そのせいではないかと思っています。
そのアプリは、Office のライブラリを参照設定しているのでしょうか?

[ツリー表示へ]
タイトルRe^2: clickonceがインストール後起動できない
記事No11438
投稿日: 2015/06/04(Thu) 22:32
投稿者ふくくん
遅くなってすいません。
レスありがとうございます。

ログは以下のとおりです。
プラットフォームのバージョン情報
    Windows             : 6.1.7601.65536 (Win32NT)
    Common Language Runtime     : 4.0.30319.34209
    System.Deployment.dll         : 4.0.30319.34244 built by: FX452RTMGDR
    clr.dll             : 4.0.30319.34209 built by: FX452RTMGDR
    dfdll.dll             : 4.0.30319.34244 built by: FX452RTMGDR
    dfshim.dll             : 4.0.31106.0 (Main.031106-0000)

ソース
*** url表記でエラーが出るため省略
*** url表記でエラーが出るため省略

エラーの概要
    以下はエラーの概要です。これらのエラーの詳細はログに一覧表示されています。
    * C:\Users\HogeName\Desktop\*****Appli.appref-ms| のライセンス認証により例外が発生しました。 次の失敗メッセージが検出されました:
        + 値が有効な範囲にありません。

コンポーネント ストア トランザクションの失敗の概要
    トランザクション エラーは検出されませんでした。

警告
    この操作中に警告は発生しませんでした。

操作の進行状況
    * [2015/06/03 19:28:18] : C:\Users\HogeName\Desktop\*****Appli.appref-ms| のライセンス認証が開始されました。
    * [2015/06/03 19:28:18] : 配置で指定されたように必要な更新チェックを実行しています。

エラーの詳細
    この操作中に次のエラーが検出されました。
    * [2015/06/03 19:28:19] System.ArgumentException
        - 値が有効な範囲にありません。
        - ソース:System.Deployment
        - スタック トレース:
            場所 System.Deployment.Application.NativeMethods.CorLaunchApplication(UInt32 hostType, String applicationFullName, Int32 manifestPathsCount, String[] manifestPaths, Int32 activationDataCount, String[] activationData, PROCESS_INFORMATION processInformation)
            場所 System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            場所 System.Deployment.Application.SubscriptionStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)
            場所 System.Deployment.Application.ApplicationActivator.Activate(DefinitionAppId appId, AssemblyManifest appManifest, String activationParameter, Boolean useActivationParameter)
            場所 System.Deployment.Application.ApplicationActivator.ProcessOrFollowShortcut(String shortcutFile, String& errorPageUrl, TempFile& deployFile)
            場所 System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
            場所 System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

コンポーネント ストア トランザクションの詳細
    トランザクション情報はありません。


回答頂いたことで、確認してないことといえば

>ClickOnce マニフェストの署名が同一かどうか確認し
これは2つ前のバージョンであったことですが、問題なかったです。

>以前のビルドと今回のビルドが異なっていて(x86、AnyCPU、x64等)、
過去のものと比較しており相違はなかった。

>・インストール先サーバーまたは更新先サーバーの指定(≠発行先サーバー)が間違っている。
該当しないです。

>現環境で作成した配布パッケージと、XP環境で作成した配布パッケージの両方があるのなら、
>それぞれの配置マニフェストの内容を見比べてみては如何でしょう。
違いはなかったような...

>そのアプリは、Office のライブラリを参照設定しているのでしょうか?
参照しております。もちろん設定は変更しています。

ほかの方に相談しログも見ていただいたところ、おそらくOffice2010に変更したことによるものだろうということでした。アドバイスもいただきましたがまだ修正できてません。
解決できましたら報告をしたいと思います。

[ツリー表示へ]
タイトルRe^3: clickonceがインストール後起動できない
記事No11440
投稿日: 2015/06/07(Sun) 06:49
投稿者魔界の仮面弁士
Office 2003 は、プライマリ相互運用機能アセンブリでの接続だったのでしょうか。
それとも、Visual Studio によって自動生成されたInteropアセンブリでの接続でしょうか。
また、ClickOnceでの自動バージョンアップ時、および新規インストール時両方で発生するのでしょうか?

また、ランタイムデバッガ(Cordbg.exe)で、ClickOnceローダー(dfsvc.exe)にアタッチすることで、
何か追加のスタックトレースを得ることは出来ないでしょうか。
http://androidyou.blogspot.jp/2010/09/clickonce-deployment-exception.html

[ツリー表示へ]
タイトルRe^4: clickonceがインストール後起動できない
記事No11441
投稿日: 2015/06/13(Sat) 09:15
投稿者ふくくん
間が開いてしまいました。

結果をお知らせしますとようやく解決しました。

参照設定にあった、Microsoft.vbe.interopのバージョン11を
削除することで解決することができました。

魔界の仮面弁士 さん、いろいろ助言ありがとうございました。

[ツリー表示へ]