たくさんの自由帳
Androidのお話
投稿日 : | 0 日前
文字数(だいたい) : 5927
どうもこんばんわ。
アインシュタインより愛を込めて APOLLOCRISIS 入手した。箱が二回りぐらい大きいな?
今やってるゲーム終わらせたらやりたいです。
アインシュタインより愛を込めて APOLLOCRISIS 入手した pic.twitter.com/m6r8Jop7Ae
— たくさん (@takusan__23) September 26, 2021
WPFなアプリの配布用にインストーラーを作成します。
きたるWindows11の Microsoft Store でのexe(msi)(従来のソフトウェア)配信機能に備えて...
そういえばHomeエディションではローカルアカウント作れないってま?
.NET 5なら単一exeファイルを吐き出す機能がありますので、インストーラーが必要ない場合は単一バイナリをばらまくのがいいです。
| なまえ | あたい |
|---|---|
| Visual Studio | 2019 Community Edition |
| Windows | 10 Pro |
| .NET | 5 |
| 拡張機能 | Microsoft Visual Studio Installer Projects |
ってのを使います。Wixってのもあるらしいけどよく知らん
まぁ頑張って作ってくれ
ここにインストーラーをプロジェクトとして追加します。
こっから入れられます。

そしたら、これを入れます。

ここから追加できます。

開いたら、検索ボックスにsetupとか入れて出てくる、Setup Projectを選択します。
名前とかは各自


この画面が開けてればおk

そのためにはまず、ソリューションエクスプローラーの、配布したいWPFアプリを選んで右クリックして、発行を押します。

開いたら、フォルダーに発行するようにします。

設定とかはそのままで完了を押せばいいです。
そうしたら、一応配布するexeを一つにまとめるため、すべての設定を表示から、ターゲットランタイムをwin-x64へ、ファイルの公開オプションから、単一ファイルの作成にチェックを入れます。
これでインストール先に置くファイルの数を減らせます。(まぁインストール先なんてどうでもいいが)

参考:https://docs.microsoft.com/en-us/visualstudio/deployment/installer-projects-net-core?view=vs-2019
まずはさっきのインストーラープロジェクト作成直後の画面を出します。
File Systemってタブのやつですね。こっから出せます。

そしたら、ソリューションエクスプローラーのレンチマークを押してプロパティも開きます。

そうしたら、File SystemのApplication Folderを右クリックして、Add -> プロジェクト出力へ進みます。

そうしたら、プロジェクトのところが配布したいWPFプロジェクトになっているか確認して、項目の公開を選択して、構成をそのままにして、OKを押します。

ソリューションエクスプローラーから、項目の公開 (ry を右クリックしてプロパティを開きます。

そしたら、公開するWPFプロジェクトの、Properties > PublishProperties > FolderProfile.pubxmlを右クリックして、完全パスをコピーします。

そうしたら、メモ帳とかに貼り付けて、Properties/PublishProperties/...の部分をコピーします。

そうしたら、Visual Studioへ戻り、項目の公開のプロパティの、PublishProfilePathにさっきコピーした値を入れます。

以上です。ソリューションエクスプローラーからインストーラープロジェクトを右クリックして、ビルドを選択しましょう。

これで生成できる..はず?

https://stackoverflow.com/questions/339106/unrecoverable-build-error-on-any-msi-setup-project
管理者権限でコマンドプロンプトを開いて、以下のコマンドを叩いてPC再起動で治るとか?
regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\MSI Tools\mergemod.dll"
regsvr32 ole32.dll
win-x64を選んだ影響ですね。インストーラープロジェクトのプロパティから、TargetPlatformをx64にすればこの警告を消せます。
インストーラープロジェクトから変更可能です。Another、ProductName、Title、Manufactorあたりを変更すればいいと思います。

しっかりアンインストールも出来ます。

インストーラーの利点といえばこれか?
File Systemから、User's Programs Menuを選択して、新しいショートカットを作成を押します。

そしたら、Application Folderを選択して、項目の公開 (以下略を押してOKを押します。

そしたら、プロパティを選んで、(Name)をアプリ名に変更します。

できたら再度ビルドします。
これでスタートに登録も出来ましたね。

以上です。
128 x 128じゃないとだめです。ソース:https://stackoverflow.com/questions/2041291/how-to-change-windows-applicatoins-default-icon-in-setup-project
ただ、これと別に生まれ変わったWin11のMicrosoft Storeでは1080 x 1080のサイズのアイコンが必要なので、svgで作っておくと幸せになれると思います。

今回はInkScapeで作りました。128 x 128でpngに書き出して、GIMPでico形式に変更します。
プロジェクトのプロパティから、リソースを開いて、icoファイルをドラッグアンドドロップします。

できたら、Resourcesフォルダに追加されるので、Resourcesフォルダ内にあるicoのプロパティを開いて、ビルドアクションをリソースにします。必要かどうかはわかりませんが。

プロジェクトのプロパティを開いて、アプリケーションを押して、リソースの中のアイコンを変更します。

インストーラープロジェクトを開いて、ここから追加できます。

User's Programs Menuにあるショートカットのプロパティを開いて、Iconを選んでBrowseを押します。

そしたら、Browseを押して

さっき追加したアイコンを選びます。

そしたら、Current iconに追加されるので、選択してOKを押せば終了です。
あとはビルドして完成。
バージョンの番号をあげます。インストーラーとWPFのアプリそれぞれ変更する必要があります。
インストーラーの方はバージョンを変更するとProductCodeも生成し直すか聞かれるので生成し直します。

それから、RemovePreviousVersionsをTrueにすると既存のバージョンをアンインストールしてくれるようになります。
https://github.com/takusan23/ItaCursor
たぶん作れます。
.slnをプロジェクトからソリューションのフォルダに移したい
-> 空のソリューションを作成して、既存のプロジェクトを追加することで解決