it技術:dotnet:インストーラーの作成
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
it技術:dotnet:インストーラーの作成 [2020/07/27 15:16] – [カスタム動作のセット] yajuadmin | it技術:dotnet:インストーラーの作成 [2020/10/26 10:45] (現在) – [サービスのインストール] yajuadmin | ||
---|---|---|---|
行 28: | 行 28: | ||
【画像挿入】\\ | 【画像挿入】\\ | ||
+ | ^InstallAllUsers|True: | ||
===== ファイルシステムの設定 ===== | ===== ファイルシステムの設定 ===== | ||
Setupプロジェクトにて右クリックメニューにある「View」から「ファイルシステム」を選択します。\\ | Setupプロジェクトにて右クリックメニューにある「View」から「ファイルシステム」を選択します。\\ | ||
- | 【画像挿入】\\ | + | {{: |
下記のファイルシステムが表示されます。\\ | 下記のファイルシステムが表示されます。\\ | ||
- | 【画像挿入】\\ | + | {{: |
===== プライマリ出力 ===== | ===== プライマリ出力 ===== | ||
「Application Folder」を選択して右クリックメニューにある「Add」から「プロジェクト出力」を選択します。\\ | 「Application Folder」を選択して右クリックメニューにある「Add」から「プロジェクト出力」を選択します。\\ | ||
- | 【画像挿入】\\ | + | {{: |
プライマリ出力を選択し、構成を「アクティブ」のまま「OK」ボタンをクリックします。\\ | プライマリ出力を選択し、構成を「アクティブ」のまま「OK」ボタンをクリックします。\\ | ||
- | 【画像挿入】\\ | + | {{: |
プライマリ出力のファイルと関連したdllが出力されます。\\ | プライマリ出力のファイルと関連したdllが出力されます。\\ | ||
行 149: | 行 150: | ||
==== カスタム動作にデータを渡す ==== | ==== カスタム動作にデータを渡す ==== | ||
Installの「プライマリ出力 from CustomAction」のプロパティに「CustomActionData」があります。\\ | Installの「プライマリ出力 from CustomAction」のプロパティに「CustomActionData」があります。\\ | ||
- | 【画像挿入】 | + | {{: |
CustomActionDataプロパティに「/ | CustomActionDataプロパティに「/ | ||
[[https:// | [[https:// | ||
- | 例 / | + | 例 / |
+ | |||
+ | ==== Error 1001 ==== | ||
+ | === インストール === | ||
+ | インストール時に「Error 1001」によりインストールできない。\\ | ||
+ | 原因としてCustomActionDataプロパティに「/ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | === アンインストール === | ||
+ | アンインストール時に「Error 1001 savedState 適合しないデータが含まれており...」によりインストールできない。\\ | ||
+ | |||
+ | 原因は不明、[[https:// | ||
+ | |||
+ | 下記の方法でログを出力することはできる。[[https:// | ||
+ | エラー箇所 returned actual error code 1603 | ||
+ | < | ||
+ | msiexec.exe /X " | ||
+ | </ | ||
+ | |||
+ | 対応として、例外エラーが出ても先に進めることを利用して例外エラーをスキップさせる。 | ||
+ | |||
+ | <code vb Uninstall> | ||
+ | Public Overrides Sub Uninstall(savedState As IDictionary) | ||
+ | Try | ||
+ | MyBase.Uninstall(savedState) | ||
+ | Catch ex As Exception | ||
+ | ' | ||
+ | End Try | ||
+ | |||
+ | Dim path As String = Context.Parameters(" | ||
+ | |||
+ | ProcessBatch(path, | ||
+ | |||
+ | End Sub | ||
+ | </ | ||
+ | ===== Setup.msiとSetup.exeの違い ===== | ||
+ | setup.exeは同梱のsetup.msiを実行するように作られており、msi からはフォローアップできないいくつかの処理(必須コンポーネントの.NET Framework のランタイムやWindowsInstallerの特定バージョンのインストールなど)をexe側で行う仕組みになっている。 | ||
+ | |||
+ | Windows Installer がインストールされてないとmsiファイルが認識できないので、その場合はsetup.exeからの実行が必要となります。\\ | ||
+ | 現状Windows OSではWindows Installerが標準でインストールされているので、Setup.msiのみで良い。 | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | ===== アップグレードインストール ===== | ||
+ | Product CodeとProduct Versionは変更して、Upgrade Codeへ変更しない。\\ | ||
+ | RemovePreviousVersionsプロパティをTrueにして、以前のバージョンを削除するようにしておく。 | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | visualstudioinstallerでは、PackageCodeは見当たらない。 PackageCode = ProductCodeが既定と考える。 | ||
+ | |||
+ | ===== サービスのインストール ===== | ||
+ | 何も設定しない場合、「サービス ログインの設定」のダイアログ画面が表示される。\\ | ||
+ | {{: | ||
+ | |||
+ | これを表示しないようにするには下記の設定を行います。これによりサービスがインストールされローカルサービスアカウントで実行されます。 | ||
+ | |||
+ | - ProjectInstallerを開きます | ||
+ | - ServiceProcessInstaller1を右クリックして、プロパティを選択します | ||
+ | - [アカウント]ドロップダウンの[その他]で、サービスを実行するアカウントを選択します。 例 LocalSystem | ||
+ | |||
+ | [[https:// | ||
===== 補足 ===== | ===== 補足 ===== | ||
違うバージョンをインストールする際に以前のバージョンをアンインストールしなくても上書きしてインストールしてくれる。 | 違うバージョンをインストールする際に以前のバージョンをアンインストールしなくても上書きしてインストールしてくれる。 |
it技術/dotnet/インストーラーの作成.txt · 最終更新: 2020/10/26 10:45 by yajuadmin