C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

インストーラ Microsoft SetupProject

[トピック内 17 記事 (1 - 17 表示)]  << 0 >>

■88086 / inTopicNo.1)  インストーラ Microsoft SetupProject
  
□投稿者/ ぽんすけ (4回)-(2018/08/02(Thu) 10:19:14)

分類:[インストーラ全般] 

お世話になります。 インストーラについてお伺いします。

Microsoft Visual Studio Community 2017でSetup Projectを追加してインストーラを作成しております。
必須コンポーネントを含めて作成したいと思いましたが、以下のダイアログを表示させたところ、
必要なコンポーネントがないものがありました。

https://docs.microsoft.com/ja-jp/visualstudio/ide/reference/prerequisites-dialog-box?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DJA-JP%26k%3Dk(Microsoft.VisualStudio.Publish.BaseProvider.Dialog.Bootstrapper)%26rd%3Dtrue

(例)NETFramework4.7.2 など、
これらは手動で追加できないものでしょうか。
引用返信 編集キー/
■88087 / inTopicNo.2)  Re[1]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (6回)-(2018/08/02(Thu) 10:55:01)
No88086 (ぽんすけ さん) に返信
> お世話になります。 インストーラについてお伺いします。
>
> Microsoft Visual Studio Community 2017でSetup Projectを追加してインストーラを作成しております。
> 必須コンポーネントを含めて作成したいと思いましたが、以下のダイアログを表示させたところ、
> 必要なコンポーネントがないものがありました。
>
> https://docs.microsoft.com/ja-jp/visualstudio/ide/reference/prerequisites-dialog-box?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DJA-JP%26k%3Dk(Microsoft.VisualStudio.Publish.BaseProvider.Dialog.Bootstrapper)%26rd%3Dtrue
>
> (例)NETFramework4.7.2 など、
> これらは手動で追加できないものでしょうか。

すみません、追加になりますが、
フォント ttfファイルもインストーラに追加したいと思うのですが、この場合についても
ご教示いただければありがたいです。
どうぞ、宜しくお願い致します。

引用返信 編集キー/
■88088 / inTopicNo.3)  Re[2]: インストーラ Microsoft SetupProject
□投稿者/ とっちゃん (506回)-(2018/08/02(Thu) 11:15:24)
No88087 (ぽんすけ さん) に返信
> ■No88086 (ぽんすけ さん) に返信
>>お世話になります。 インストーラについてお伺いします。
>>■No88087 (ぽんすけ さん) に返信
> ■No88086 (ぽんすけ さん) に返信
>>お世話になります。 インストーラについてお伺いします。
>>
>>Microsoft Visual Studio Community 2017でSetup Projectを追加してインストーラを作成しております。
>>必須コンポーネントを含めて作成したいと思いましたが、以下のダイアログを表示させたところ、
>>必要なコンポーネントがないものがありました。
>>
>>https://docs.microsoft.com/ja-jp/visualstudio/ide/reference/prerequisites-dialog-box?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev15.query%3FappId%3DDev15IDEF1%26l%3DJA-JP%26k%3Dk(Microsoft.VisualStudio.Publish.BaseProvider.Dialog.Bootstrapper)%26rd%3Dtrue
>>
>>(例)NETFramework4.7.2 など、
>>これらは手動で追加できないものでしょうか。
>

4.7.2 はまだVSのインストーラには入っていないはずです。

なので、別途SDKおよび、Developer Pack をインストールする必要があります。

https://docs.microsoft.com/ja-jp/dotnet/framework/whats-new/#v472

上記リンクから、必要なものをインストールしてください。

一応。。。上位互換ですが、自分で設定しているアプリの .NET のバージョンが4.7.1 なら .NET のランタイムインストーラも
添付するのは 4.7.1 をお勧めします。

4.6.2 ならもちろん 4.6.2。クライアント環境が4.7.2だから。。。という理由で設定したいのなら、
SDKを入れ、アプリの、.NET Framework のターゲットも4.7.2に更新した上で、同じバージョンのランタイムを搭載してください。



> すみません、追加になりますが、
> フォント ttfファイルもインストーラに追加したいと思うのですが、この場合についても

フォントはシステムに登録を前提に書いておきます。

フォントを追加する場合は、インストール先にフォントのフォルダ(FontFolder)を指定する必要があります。
プロジェクトのコンテキストメニューのView-ファイルシステムを選び、右側に File System を表示します。
ツリーのトップでコンテキストメニューを開くと、Fonts Folder というのがあるのでそれを選択します。
Fonts Folderがツリーに追加されているはずなので、選択してコンテキストメニューを開き、フォントファイルを追加します。
File System の右側のリスト部分にフォントファイルが追加されているので、選択してコンテキストメニューを開きプロパティウィンドウを表示します。

プロパティの、Regser 項目を "vsdrfFont"、SharedLegacyFile の項目を True にします。

これで、任意のフォントファイルをシステムグローバルに登録し、なおかつほかのアプリが同じファイルを追加した場合でも
問題なく共有できるようになります。

引用返信 編集キー/
■88090 / inTopicNo.4)  Re[3]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (7回)-(2018/08/02(Thu) 11:18:22)
No88088 (とっちゃん さん) に返信

とっちゃん様、ご教示いただきありがとうございます。
これで作ってみます。

取り急ぎ、御礼まで。
引用返信 編集キー/
■88191 / inTopicNo.5)  Re[4]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (8回)-(2018/08/09(Thu) 10:11:59)
SetupProjectをビルドして、できたインスト―ラを試してみました。
インストール自体は問題なく終了いたしました。

で、実行してみましたところ・・・

Windows10上では問題なくアプリも動作いたしましたが、
Windows7へ入れたところ、以下のようなエラーが発生いたしました。

------------------------------------------------------------
フレームワークのバージョン:v4.0.30319
説明: ハンドルされない例外のため、プロセスが中止されました。
例外情報:System.AccessViolationException
------------------------------------------------------------

ちなみにアプリはC#で作っていますが、C++で作られたDLLを参照しています。
どうもこのDLLを参照時に発生しているようなのですが。。。

Microsoft Visual C++ 再頒布可能パッケージは、x86、x64両方
コンポーネントに入れております。

何が原因として考えられますでしょうか。
ご教示お願い致します。

引用返信 編集キー/
■88194 / inTopicNo.6)  Re[5]: インストーラ Microsoft SetupProject
□投稿者/ とっちゃん (509回)-(2018/08/09(Thu) 10:39:40)
No88191 (ぽんすけ さん) に返信
> SetupProjectをビルドして、できたインスト―ラを試してみました。
> インストール自体は問題なく終了いたしました。
>
> で、実行してみましたところ・・・
>
> Windows10上では問題なくアプリも動作いたしましたが、
> Windows7へ入れたところ、以下のようなエラーが発生いたしました。
>
インストールするというのは、プログラムを起動するために必要なものをそのマシンに設置する作業を指します。

なので、起動時にファイルが足りないなどであれば、インストール作業のミスとなります。
ですが、起動した後でクラッシュした(アクセス違反なども同様)は、インストールしたプログラムの問題です。
いくらインストーラを眺めてみても解決の糸口は少ないと思われます。


> ちなみにアプリはC#で作っていますが、C++で作られたDLLを参照しています。
> どうもこのDLLを参照時に発生しているようなのですが。。。
>
> Microsoft Visual C++ 再頒布可能パッケージは、x86、x64両方
> コンポーネントに入れております。
>
> 何が原因として考えられますでしょうか。
> ご教示お願い致します。
>
まずはデバッグして「発生しているようなのですが。。。」という状況から
どこでエラーが発生したかをきちんと突き止めましょう。

アクセス違反なので、リモートデバッガを使うのが一番お手軽だと思います。
ほかにも、いろいろとデバッグ手段はあると思いますが、まずは発生個所を突き止めるところから始める必要があります。

引用返信 編集キー/
■88196 / inTopicNo.7)  Re[6]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (10回)-(2018/08/09(Thu) 10:44:18)
No88194 (とっちゃん さん) に返信

了解いたしました。
ご助言いただきありがとうございます。
デバッガで追いかけてみます。

引用返信 編集キー/
■88319 / inTopicNo.8)  Re[7]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (12回)-(2018/08/20(Mon) 17:25:50)
No88196 (ぽんすけ さん) に返信
> ■No88194 (とっちゃん さん) に返信
>
> 了解いたしました。
> ご助言いただきありがとうございます。
> デバッガで追いかけてみます。
>
上記エラーの件は、別のマシンで実行させてみると発生いたしませんでした。
マシン固有の環境問題であったようです。
どうもすみませんでした。

あと、別件でお伺いいたしたいことがございます。
SetupProjectにlocalDBもコンポーネントに入れているのですが、
setUp時に、データベースの構築もできますでしょうか。

インストールが終了後にSQL server オブジェクトエクスプローラから
データベースの作成、テーブルの作成を行っていますが、
これらをセットアッププロジェクト内に組み込むことができるなら・・・と
現在調査中です。
ご存知であればご教示くださいますようお願い申し上げます。

引用返信 編集キー/
■88320 / inTopicNo.9)  Re[8]: インストーラ Microsoft SetupProject
□投稿者/ マダムヤン (1回)-(2018/08/20(Mon) 17:43:39)
> マシン固有の環境問題であったようです。

マシン固有の環境問題で片付けてしまって大丈夫ですか?
C#のアプリのターゲットプラットフォームはAny/x86/x64のどれですか?
また、C++のDLLは32ビット版ですか、64ビット版ですか?
あと、エラーの発生したWindows7は32ビット版ですか?64ビット版ですか?
引用返信 編集キー/
■88321 / inTopicNo.10)  Re[9]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (13回)-(2018/08/20(Mon) 18:00:41)
No88320 (マダムヤン さん) に返信
>>マシン固有の環境問題であったようです。
>
> マシン固有の環境問題で片付けてしまって大丈夫ですか?
> C#のアプリのターゲットプラットフォームはAny/x86/x64のどれですか?
> また、C++のDLLは32ビット版ですか、64ビット版ですか?
> あと、エラーの発生したWindows7は32ビット版ですか?64ビット版ですか?

C#アプリのターゲットプラットフォームはAnyCPUで、
C++のDLLは64ビット版で、Windows7については64ビット版です。
どちらのマシンも64ビットなので、何が違うのか現在まだ調査中です。

引用返信 編集キー/
■88324 / inTopicNo.11)  Re[8]: インストーラ Microsoft SetupProject
□投稿者/ とっちゃん (510回)-(2018/08/20(Mon) 22:41:54)
No88319 (ぽんすけ さん) に返信
> 上記エラーの件は、別のマシンで実行させてみると発生いたしませんでした。
> マシン固有の環境問題であったようです。
> どうもすみませんでした。
>
マダムヤンさんも書いていますが、環境問題で片付けてしまっても問題ありませんか?
結果的にはその環境では使えないということになりますが、それで問題ないのでしょうか?


> あと、別件でお伺いいたしたいことがございます。
> SetupProjectにlocalDBもコンポーネントに入れているのですが、
> setUp時に、データベースの構築もできますでしょうか。
>
> インストールが終了後にSQL server オブジェクトエクスプローラから
> データベースの作成、テーブルの作成を行っていますが、
> これらをセットアッププロジェクト内に組み込むことができるなら・・・と
> 現在調査中です。
> ご存知であればご教示くださいますようお願い申し上げます。
>
localDBをプログラム的に(C#でよい)登録する方法はわかりますか?
それがわかるのであれば、System.Configuration.Install.Installer クラスを使って
カスタム動作を用意し、そこで登録処理を行います。

Installer クラスのリファレンスに簡単な解説が出ているのでリンクを張っておきます。
https://msdn.microsoft.com/ja-jp/library/system.configuration.install.installer.aspx

VS2005〜2010 までの記事であればバージョンを問わず使用方法等は変わらないので
さらに詳しいことは検索してみてください。


もし、プログラム的に設定する方法がわからないという場合は、学習するかあきらめるか。。。
となります。
また、SQL Server にLocalDBを登録する方法を知りたい場合はこのスレではなく別途質問を上げたほうがいいでしょう。
その際、最終的にインストール時に行いたいというゴールも示しておくとよいと思いますよ。

引用返信 編集キー/
■88325 / inTopicNo.12)  Re[9]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (15回)-(2018/08/21(Tue) 09:28:38)
No88324 (とっちゃん さん) に返信
ありがとうございます。

> マシン固有の環境問題であったようです。

すみません、詳細は記載できませんが、発生したマシンの
ハード(グラフィック関連)に関する問題であったようです。
この件は解決いたしました。

Installer クラス についてのご教示ありがとうございます。
リファレンスを参照して、試してみたいと思います。

引用返信 編集キー/
■88361 / inTopicNo.13)  Re[10]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (18回)-(2018/08/22(Wed) 17:00:26)
カスタムインストーラプロジェクトを追加して
LocalDBの登録を行っておりますが、うまくいきません。
申し訳ございません、
「C#プログラムでSQL Server にLocalDBを登録」題して
別スレッドを上げました。
引用返信 編集キー/
■88422 / inTopicNo.14)  Re[11]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (20回)-(2018/08/29(Wed) 13:33:10)
上記、DB関連については別スレッドで記載させていただいた
ので、ここではDB以外の問題点についてご相談させていただきます。

SetUpProjectを利用してインストーラを作成しております。
カスタム動作を行うためにクラスライブラリを追加し、
このDLL内で以下のように、ユーザ名を取得しようとしていますが、
ログインユーザ名でなく「SYSTEM」という名前が取得されます。

アプリのmain()関数ではただしくログインユーザ名が取得できるの
ですが、何か異なる点があるのでしょうか。

string machine = Environment.MachineName;
string user = Environment.UserName;

すみませんが、ご教示のほどよろしくお願いいたします。


引用返信 編集キー/
■88423 / inTopicNo.15)  Re[12]: インストーラ Microsoft SetupProject
□投稿者/ とっちゃん (513回)-(2018/08/29(Wed) 13:51:46)
No88422 (ぽんすけ さん) に返信
> SetUpProjectを利用してインストーラを作成しております。
> カスタム動作を行うためにクラスライブラリを追加し、
> このDLL内で以下のように、ユーザ名を取得しようとしていますが、
> ログインユーザ名でなく「SYSTEM」という名前が取得されます。
>
カスタム動作は、ローカルマシンの「SYSTEM」アカウントで動作するので
アカウント名が、「SYSTEM」になります。

もし、LocalDB をユーザーアカウントで登録させたいのなら
「アプリケーションの初回起動時」
に行う必要があります。
作成されるDBは、昇格していないユーザーのアカウント(マシンの管理者権限がない状態)上で作ります。
なので、それに応じた形で用意することになりますし、同じマシンでも別のユーザーアカウントからは見えません。

そうではなく、マシンアカウントで登録させたいのなら
「インストーラのカスタム動作」
で行う必要があります。
こちらは、逆に特定ユーザーに紐づくように作ると意図しないアカウント上に作られるため
作成自体に注意が必要になります。


DBの内容はわからないのでこれ以上は言及できませんが、LocalDBなので
ファイルアタッチを考えたほうがいいかもしれません。
それなら、開発環境であらかじめ環境に依存しない形でDBを用意しておくということができます。

引用返信 編集キー/
■88424 / inTopicNo.16)  Re[13]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (21回)-(2018/08/29(Wed) 14:05:41)
No88423 (とっちゃん さん) に返信

とっちゃん様、
早々のご回答誠にありがとうございます!
参考にさせていただき、これから試してみます。

引用返信 編集キー/
■88438 / inTopicNo.17)  Re[14]: インストーラ Microsoft SetupProject
□投稿者/ ぽんすけ (22回)-(2018/08/30(Thu) 18:11:27)
とっちゃん様

「アプリケーションの初回起動時」にLocalDB をユーザーアカウントで登録させる
ことでうまくいきました。
お忙しいところ、ありがとうございました。
感謝申し上げます。

今後ともよろしくお願いいたします。

解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ