VB2008 ClickOnce発行がうまくいかない

このQ&Aのポイント
  • VB2008EEを使用しているものです。ClickOnce発行を利用してプログラムの配布をしたいと思っているのですが、うまくいきません。
  • プロジェクトのMyProject内の「発行」内の「必須コンポーネント」内の「アプリと同じ場所から必須コンポーネントをダウンロードする」にチェックし、インストールする必須コンポーネントは「windowsインストーラ3.1」「framework3.5」「powerpacks1.2」にチェックします。
  • 作成したプログラムは外部コンポーネント(.dll)及び、プログラム設定用のテキストファイルを参照するようになっています。しかし、ClickOnceの設定や「発行」内の「アプリケーションファイル」の意味が分からず、うまく動作しない状況です。アドバイスをいただけると助かります。
回答を見る
  • ベストアンサー

VB2008 ClickOnce発行がうまくいかない。

VB2008EEを使用しているものです。ClickOnce発行を利用して プログラムの配布をしたいと思っているのですが、うまくいきません。 みなさんの助言を頂きたいと思います。 自分が行ったやり方としては、 1.プロジェクトのMyProject内の「発行」内の「必須コンポーネント」内の「アプリと同じ場所から必須コンポーネントをダウンロードする」にチェック。 インストールする必須コンポーネントは、「windowsインストーラ3.1」「framework3.5」 「powerpacks1.2」にチェック。 2.同じく「発行」内の「アプリケーションファイル」内の「発行の状況」を全て「含む」に変更。(意味がわからず設定しています) 3.「今すぐ発行」をクリック。 出来上がったパッケージを対象のパソコンにインストール。 動作OS:XPのSP3  必須コンポーネントは全て正常にインストール完了。 作成したプログラムもインストール完了。 しかし、プログラムを起動すると、エラーが発生(エラー報告ダイアログ画面が起動する。Formが立ち上がる前に発生。)   作成したプログラムは外部コンポーネント(.dll)及び、プログラム設定用のテキストファイルを参照するようになっています。(exeと同じパスを指定) ClicOnceについて詳しくないので、上記設定がそもそも正しいのかも 分からずやっている状況です。 「発行」内の「アプリケーションファイル」の意味も正直分かっていません。 長くなってしまいましたが、アドバイスよろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • arvo
  • ベストアンサー率28% (2/7)
回答No.2

・ >外部コンポーネント(.dll)及び、プログラム設定用のテキストファイルを参照するようになっています。(exeと同じパスを指定) ↑「発行」内の「アプリケーションファイル」内にDLLとテキストファイルも表示されていますか?(含むにしていますか?) もし無い時はソリューションに追加してから再度「アプリケーションファイル」を見ると表示されると思います。 それと、ちょっと違うかもしれませんが、クリックワンスでは実行環境やログインユーザーによって実行ファイルの場所が可変です。 なので、exeと同じ場所にDLLとテキストファイルが入るようにプロジェクトをセットアップしてください。 それでもうまくいかないようでしたら、C:\XXX等にファイルがあるようにコーディングを変更して試してください。 (対象マシンにもそのファイルを事前に置いておく) これで動くようでしたら、 クリックワンス自体は今のままで大丈夫なのかもしれません。 ファイルの参照がうまくいっていないのかも・・と思いました。 ・ 発行先はローカルとのことでしたが、直接USBメモリー上に発行してみてください。(当方VS2005環境ですがうまくいきました) ・ >出来上がったパッケージを対象のパソコンにインストール。 ↑この時は、XXXX(あなたのプログラム名).Applicationを実行してますか? setup.exeも作られますがクリックワンスの起動はXXXX.Applicationという拡張子のものです。 ちなみにUSB上からでも「ダウンロードします」みたいな表示が出ると思います。 ・・・・・ 気がついた点を想像しつつの回答なので的を得ていないかもしれませんが、ご確認下さい。

butman11
質問者

お礼

回答有難うございました。 XXXX.Applicationのほうで起動するんですね!! 自分exeのほうでやっていました。 「発行」内は全て含むでやっています。 XXXX.Applicationで試してみます。ありがとうございました!

その他の回答 (1)

  • arvo
  • ベストアンサー率28% (2/7)
回答No.1

>3.「今すぐ発行」をクリック。 この後、エラーは出ませんか?? ↑発行先はローカルですか?? >出来上がったパッケージを対象のパソコンにインストール。 ↑この時点でクリックワンスとかけ離れている気がしますが?? IIS(Webサーバー)へ発行or配置し、そのWEBサーバーへアクセスすると、 置いておいたプログラムをダウンロードしてきて、実行できる・・ クリックワンスってこんな感じなんですが、 IISの設定とかはやっていますか?

参考URL:
http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce01/clickonce01_01.html
butman11
質問者

お礼

回答ありがとうございます。 「今すぐ発行」の後はエラーは出ません。発行先はローカルです。 IISの設定は行っていません。インストール対象のパソコンは ネットワークに接続されていないので、USBメモリから直接インストールを 行いたいと思っています。さらなる助言よろしくお願いします!! URLありがとうございました!

関連するQ&A

  • ClickOnceでのテスト/本番の運用について

    お世話になっております。 ClickOnceの運用について質問させていただきたいことがございます。 vb.net(vs2005)で作成したアプリケーションをClickOnceでWEBサーバを使用して配布する予定です。これを以下のようにテスト用配布環境と本番用配布環境に分けたいと思っています。 プログラム:project.sln (1)テスト用配布サイト:http://xxxxxx/projecttest/publish.htm (2)本番用配布サイト :http://xxxxxx/project/publish.htm (1)に配置するClickOnceのモジュールはプロジェクトのプロパティの「インストールのURL」を「http://haifudrv/projecttest/publish.htm」に設定してからコンパイル、発行しています。 (2)に配置するClickOnceのモジュールはプロジェクトのプロパティの「インストールのURL」を「http://haifudrv/project/publish.htm」に設定してからコンパイル、発行しています。 ((1)・(2)のリビジョンは一致させています。) まずは(1)のモジュールをテストサイトにアップして特定のユーザに配布。ユーザが動作確認をしてリリース判定を行う。 ↓ リリースOKをもらった時点で(2)を本番サイトにアップして配布 というフローで今後運用したいと思っています。 つまり同一のクライアントで本番用、テスト用の両バージョンをそれぞれ動かしたいというのが希望です。 ところが上記のサイトからクライアントにインストールすると、スタートメニューに登録されるプログラムが後にインストールされたプログラムで上書きされてしまいます。 (\Local Settings\Apps\2.0\配下のプログラムも上書きされているように思えます。) プロジェクトのプロパティである発行名や製品名を変更しても同様の現象が発生しました。 同じプロジェクトから生成したモジュールなので上書きしあっていることが予想できるのですがなんとかして同一クライアントPCに同一のログオンでテスト用、本番用のプログラムを同居させることはできませんでしょうか? また、現在配布元のURLがテスト/本番と異なるために二度コンパイル、発行を行っているのですが、この処置ですと、「テスト完了済みのモジュールを本番に配布」という運用ができず、本番環境でもテスト作業が必要となってしまいます。 ためしに.applicationファイルのURLを書き換えるなどしてやってみたのですがダウンロード時にエラーとなってしまいうまく動きませんでした。同一モジュールで配布サイトを変更するようなことは可能でしょうか? 上記2点について実際にClickOnceにて運用されているかた、また手法をご存知の方いらっしゃいましたら恐れ入りますが情報をいただけませんでしょうか?

  • VB2010ビルドできるが配付ではビルドできない

    VB2010にてプログラムをはじめて作りました。配付するために ”発行”にて、”必須コンポーネント”で、 「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」 を選択します。 アプリケーションはオフラインでも利用できる。を選択します。 ”今すぐ発行”を選択します。 すると、添付のように  プロジェクトがビルドできなかった、等のエラーがでます。 必須コンポーネントで、”必須コンポーネントをコンポーネントの発売元のWebサイトからダウンロードする。” を選択すると  プロジェクトがビルドできなかったのエラーはでませんでしたが、添付のエラーの右側となりました。 エラーにならないようにするにはどうしたらよいでしょうか? エラーの詳細は、アプリケーションと同じ場所から必須コンポーネントをダウンロードする」の場合は、 エラー1:プロジェクトがビルドできなかったため、発行できません。 エラー3:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Microsoft .NET Framework 4 Client Profile (x86 および x64)' のファイル 'DotNetFX40Client\dotNetFx40_Client_x86_x64.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 エラー4:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Microsoft .NET Framework 4 Client Profile (x86 および x64)' のファイル 'DotNetFX40Client\dotNetFx40LP_Client_x86_x64ja.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 エラー2:必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 'Windows インストーラー 3.1' のファイル 'WindowsInstaller3_1\WindowsInstaller-KB893803-v2-x86.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。 ”必須コンポーネントをコンポーネントの発売元のWebサイトからダウンロードする。” の場合は、 エラー1:次のエラーにより、'http://localhost/WindowsApplication2/' に接続できませんでした: Web サイト 'http://localhost/WindowsApplication2' を作成できません。 IIS はこのコンピューターにインストールされていません。ローカル IIS Web サイトにアクセスするには、次の IIS コンポーネントをインストールする必要があります: インターネット インフォメーション サービス IIS メタベースおよび IIS 6 構成互換性 ASP.NET 加えて、管理者アカウントで Visual Studio を実行する必要があります。 詳細については、F1 キーを押してください。 管理者で実行していると思いますが。

  • ClickOnceで意味不明なエラー

    Visual Studio 2008 Professional Editionの試用版をダウンロードしていろいろと実験中です。 ClickOnceを使いたいので、簡単なwindowsアプリケーションを作成て試してるのですが、 原因がさっぱりわからないエラーで困っております。 まず、windowsアプリケーションでプロジェクトを新たに作成します。 ビルドは当然通ります。 次にプロジェクトのプロパティから「発行」タグを開き、 何も変更せずに「今すぐ発行」をクリックします。 すると下記のエラーとなりました。 ――――――――――――――――――――――――――― マニフェスト 'obj\Debug\WindowsApplication1.exe.manifest' を書き込めません: 構成システムを初期化できませんでした。 ――――――――――――――――――――――――――― 発行場所をFTPに変えたり、IISに変えたりしても、エラーは回避されません。 何か設定が足りないか間違ってると思うのですが、ヒントでもあれば教えてもらえればと思います。

  • ClickOnce、MSI以外の方法?

    ユーティリティープログラムを作りました 無料で一般に公開して使って貰いたいと思いましたが、問題は配布方法です C#2010 EXPRESSを使用しましたので (1)ClickOnceの配布が可能です でもバァージョン管理などが必要となる程のプログラムではありません それにゴチャゴチャして良く分らないのでClickOnceは使いたくありません (2)ClickOnceに対するMSIファイルで配布しようと思ったのですが、EXPRESSではMSIを作れないとのこと ・・・・ 本当ですか??? ・・・・ だからMSIも駄目 他に適当な方法がありますか? その際、.NET FRAMEWORKが必須として事前にインストールされていないXPなどにはどの様に対処すればよいのですか?

  • Visual Studio 2005 VB

    Visual Studio 2005 VB 新しいデジタル証明書で署名したClickOnceアプリを再インストールするには? 4年ほど前に、VisualStudio2005 の VBで作成されたWindowsアプリケーションがあります。 帳票に入れる代表者名が変わったため、その部分を書き換えて再度ClickOnceで 発行しようとしたところ、証明書の期限が切れているというエラーが出ました。 http://www.atmarkit.co.jp/fdotnet/dotnettips/611clickoncerenewcert/clickoncerenewcert.html ↑こちらのサイトの情報に従って、RenewCert.exe というプラグラムを作りました。 実行すると、「メモリがReadになることは出来ませんでした。」というエラーが出ました。 クライアントは少ないので、 「すべてのクライアントでいったん既存のClickOnceアプリをアンインストールして、新しいデジタル証明書で署名したClickOnceアプリを再インストールすること」 という方法でアプリケーションを更新したいと思います。 この 新しいデジタル証明書で署名したという部分はどのようにすればよいでしょうか。 デジタル証明書(=「<プロジェクト名>_TemporaryKey.pfx」ファイル) を削除して、ビルド、発行すれば自動的にVS 2005がデジタル証明書を作ってくれると 思ったのですがうまく行きません。 新しいデジタル証明書はどうやって既存のアプリケーションに埋め込むのですか? どうぞよろしくお願いいたします。

  • vb2008でのセットアップ作成について

    教えてください。 セットアップを作成しているのですが、いくつかのDLLファイルをアプリケーションフォルダとは異なる場所に配置したいのですが、どうすればいいのでしょうか? DLLをsystem32フォルダに配置し、セットアップを作成すると、インストールは無事に完了するのですが、実行すると、DLLが参照できずエラーが発生してしまいます。 宜しくお願いいたします。 以上

  • VB2008の64bitでの使用について

    こんにちは どなたか教えていただけると非常に助かります。 VB2008で簡単なMSアクセス2010と連携した在庫管理システムを作成しました。(Win7の32bitPCで開発しました) 32bitPCでは問題なく動作しましたが64bitPCでは以下のエラーメッセージが表示され使用できませんでした。 --------------------------------------------------------------------- Microsort .NET Framework アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました、[続行]をクリックすると、アプリケーションはこのエラーを無視しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 プロバイダーが見つかりません。正しくインストールされていない可能性があります。 --------------------------------------------------------------------- [続行]を押すて進むと、今度は以下のエラーメッセージが表示されます。 --------------------------------------------------------------------- 在庫管理システム アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました、[続行]をクリックすると、アプリケーションはこのエラーを無視しようとします。[終了]をクリックすると、アプリケーションは直ちに終了します。 この操作を実行するために接続できません。このコンテキストで閉じているかあるいは無効です。 --------------------------------------------------------------------- インストーラの作成方法に誤りがあるのでしょうか。 どなたかわかる方、ご教授お願いします。

  • httpsアクセスにおけるClickOnceの動作

    ClickOnce初心者です。VisualStudioについても名前ぐらいしか分かりません。 お手数・ご迷惑おかけしますが、よろしくお願いします。 他社ソフトをデモンストレーションで使用することになり、自社サーバにインストールしてもらいました。 他社ソフトはClickOnceを使用し、クライアントPCにソフトを配布する仕組みです。 このとき、httpで自社サーバソフト配布ページにアクセスした場合、問題なく他社ソフトのダウンロードが始まり、実際に他社ソフトを起動することができました。しかし、httpsアクセスで自社サーバソフト配布ページにアクセスした場合、添付の表示が出ます。詳細をクリックすると以下のlogが表示されるのですが、これの対処方法をご存知の方がいらっしゃいましたら、ご教示お願いします。 ※出力内容から、証明書が悪いのかと考え製造元に問い合わせをしたのですが、ClickOnce自体の動作には回答できないと拒否されていまいした。 OSはWindowsServer2008r2 です。 log抜粋ここから======================================== プラットフォームのバージョン情報 Windows : 6.1.7601.65536 (Win32NT) Common Language Runtime : 2.0.50727.5466 System.Deployment.dll : 2.0.50727.5420 (Win7SP1.050727-5400) mscorwks.dll : 2.0.50727.5466 (Win7SP1GDR.050727-5400) dfdll.dll : 2.0.50727.4927 (NetFXspW7.050727-4900) dfshim.dll : 4.0.40305.0 (Main.040305-0000) エラーの概要 以下はエラーの概要です。これらのエラーの詳細はログに一覧表示されています。 * https://ローカルIPアドレス/maroon/maroon.application?ProgramID=DJMN010&remoteINI=C:%5cMaroon%5cIni&remotePath=http:%2f%2fローカルIPアドレス%2fmaroon%2f のライセンス認証により例外が発生しました。 次の失敗メッセージが検出されました: + https://ローカルIPアドレス/maroon/maroon.application?ProgramID=DJMN010&remoteINI=C:\Maroon\Ini&remotePath=http://ローカルIPアドレス/maroon/ のダウンロードに失敗しました。 + 基礎になる接続が閉じられました: SSL/TLS のセキュリティで保護されているチャネルに対する信頼関係を確立できませんでした + 検証プロシージャによると、リモート証明書は無効です。 コンポーネント ストア トランザクションの失敗の概要 トランザクション エラーは検出されませんでした。 log抜粋ここまで======================================== 以上、よろしくお願いします。

  • VB.Net シリアル通信

    VB.Net 2010/W.7でシリアル通信のプログラムを作成しました。 デバック状態では正常に動作しました。又、Debugフォルダー内に出来た.exeファイルでも正常に動作しました。 この.exeをVB.Netの外にコピーして実行させようとした所、"アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。「続行」をクリックすると、アプリケーションはこのエラーを無視し、続行しようとします。「終了」をクリックすると、アプリケーションは直ちに終了します。 ポート'Com1'は存在しません。 とのメッセージが出てしまいました。 RS-232cの部分を外して実行させると正常に動作する様です。 これは無料版を使用している為の制限なのでしょうか、それとも何かをインクルードする必要があるのでしょうか。 同様に System.IO.Directory.CreateDirectory(sCurDir & "Log") でディレクトリーを作成出来ない様です。Debugフォルダーの中ではディレクトリーは作成されて居ました。 手動でディレクトリーを作成すると、その中にファイルは書けるみたいです。 お分かりに成る方が居られましたらお教え下さい。 宜しくお願い致します。

  • VisualStudio.netのASP.NET WebアプリケーションでExcelデータを読み出す

    VisualStudio.netで、Excelファイルからデータを取り出し、 IISサーバに載せて、インターネットで見られるようにするプログラムを 勉強しています。 参考書を参考にして、 VisualStudio.netのWindowsアプリケーションで Excelファイルからデータを呼び出して表示するプログラムを 作ったところ、うまくいきました。 それを、ASP.NET Webアプリケーションでやったところ、 エラーメッセージが出て、ブラウザ上で成功しません。 エラーメッセージは、 「アプリケーションでサーバー エラーが発生しました。 ActiveX コンポーネントを作成できません。」 ということで、 ソースエラーでは 「行 49: myXls = CreateObject("Excel.Application")」 がエラーの原因のようです。 これは、VisualStudio.netの開発状況の設定の問題でしょうか? あるいはサーバの設定の問題でしょうか? それともプログラム自体の間違いでしょうか? 初歩的な質問で恐縮ですが、一人ではなかなか解決しないので どうぞよろしくお願いいたします。