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

わんくま同盟

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

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

ツリー一括表示

Wixインストーラでバッチファイルを実行したい /けん (24/01/23(Tue) 20:00) #102886
Re[1]: Wixインストーラでバッチファイルを実行したい /kiku (24/01/24(Wed) 18:52) #102888
Re[1]: Wixインストーラでバッチファイルを実行したい /とっちゃん (24/01/24(Wed) 22:55) #102889
  └ Re[2]: Wixインストーラでバッチファイルを実行したい /けん (24/01/27(Sat) 21:06) #102901
    ├ Re[3]: Wixインストーラでバッチファイルを実行したい /ビール呑み (24/01/28(Sun) 10:41) #102902
    ├ Re[3]: Wixインストーラでバッチファイルを実行したい /ふぉげ (24/01/28(Sun) 19:52) #102903
    └ Re[3]: Wixインストーラでバッチファイルを実行したい /とっちゃん (24/01/29(Mon) 17:57) #102906


親記事 / ▼[ 102888 ] ▼[ 102889 ]
■102886 / 親階層)  Wixインストーラでバッチファイルを実行したい
□投稿者/ けん (1回)-(2024/01/23(Tue) 20:00:05)

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

けんです。お世話になります。

ネット検索により、検索結果と同様のコードを実行していますが、バッチファイルが
起動しない状況です。

・作成ツール
 Wix
・以下のコードにCustomActionを記載して実行
 「WiX チュートリアル 日本語訳」「Sample-1-3-First」
 https://wix-tutorial-ja.github.io/download.html
・実施したいこと
 インストール時にインストールしないバッチファイルを実行したい。
 (バッチファイル名:TestBat.bat、ファイルの場所:インストールファイルと同じ場所)
・その他参考事項
 →「WixUtilExtension」は参照で設定しています。
 →UIは入れていません。
 →「exe」ファイルは、インストールしたファイル及びインストールしないファイルも起動
  できることを確認しています。
 →バッチファイル起動を確認したコード(一例)

<Property Id="SETUP">フルパス/TestBat.bat</Property>
<CustomAction Id="LaunchFile" Property="SETUP" ExeCommand="" Return="ignore" />

<InstallExecuteSequence>
<!-- インストール時 -->
<Custom Action="LaunchFile" Before="InstallInitialize">Not Installed</Custom>
</InstallExecuteSequence>

<Binary Id・・・・>も確認し実行できません。

よろしくお願いいたします。
[ □ Tree ] 返信 編集キー/

▲[ 102886 ] / 返信無し
■102888 / 1階層)  Re[1]: Wixインストーラでバッチファイルを実行したい
□投稿者/ kiku (401回)-(2024/01/24(Wed) 18:52:26)
No102886 (けん さん) に返信
> けんです。お世話になります。
>
> ネット検索により、検索結果と同様のコードを実行していますが、バッチファイルが
> 起動しない状況です。

検索しただけで、検証などはしていません。
下記の記事と比較すると、設定項目などが違うようです。
下記を試してみてはどうでしょうか?
https://www.clear-code.com/blog/2020/10/12.html
[ 親 102886 / □ Tree ] 返信 編集キー/

▲[ 102886 ] / ▼[ 102901 ]
■102889 / 1階層)  Re[1]: Wixインストーラでバッチファイルを実行したい
□投稿者/ とっちゃん (815回)-(2024/01/24(Wed) 22:55:04)
No102886 (けん さん) に返信
> けんです。お世話になります。
>
> ネット検索により、検索結果と同様のコードを実行していますが、バッチファイルが
> 起動しない状況です。
>
.bat, .cmd, .ps1, .vbs などは特別な構造をした、データファイル(一般にスクリプトファイルと呼ばれる)で
実行可能ファイルではありません。

そのため、実行可能ファイルである exe と同じ形で呼び出しても動きません。

一番手軽な方法は、OSで関連付けされたプログラムを実行する方法だと思います。
WiX の場合は、WixShellExec という CustomAction で実行できます。

リファレンスに HowTo ページがあるのでそちらを考えてみてはいかがでしょうか?
https://wixtoolset.org/docs/v3/howtos/ui_and_localization/run_program_after_install/

もし、いろいろ設定するのでそれだったらプログラム書いても…というのなら、
自分でCAを作ってしまうというのもありです。

まぁ、そこまでやるくらいならバッチファイルの代わりにexe を作ったほうがいいんじゃない?
という気もしますが。

[ 親 102886 / □ Tree ] 返信 編集キー/

▲[ 102889 ] / ▼[ 102902 ] ▼[ 102903 ] ▼[ 102906 ]
■102901 / 2階層)  Re[2]: Wixインストーラでバッチファイルを実行したい
□投稿者/ けん (2回)-(2024/01/27(Sat) 21:06:40)
No102888 (kiku さん) に返信
>
> 下記の記事と比較すると、設定項目などが違うようです。
> 下記を試してみてはどうでしょうか?
> https://www.clear-code.com/blog/2020/10/12.html

回答有難うございます。遅くなり申し訳ありません。
お教えいただいたリンク先についても色々確認しましたが、
バッチファイルが起動しない状況であり、Wix自体の理解不足
によるものと思っていて、設定変更が必要な箇所等をお教え
いただければと思ってい質問させていただきました。

バッチファイルが起動ができないようであれば、「とっちゃん」様
よりの「exe」作成も必要かと思います。
(exe作成等、初心者の状況です。)


No102889 (とっちゃん さん) に返信
>
> .bat, .cmd, .ps1, .vbs などは特別な構造をした、データファイル(一般にスクリプトファイルと呼ばれる)で
> 実行可能ファイルではありません。
>
> そのため、実行可能ファイルである exe と同じ形で呼び出しても動きません。
>
> 一番手軽な方法は、OSで関連付けされたプログラムを実行する方法だと思います。
> WiX の場合は、WixShellExec という CustomAction で実行できます。
>
> リファレンスに HowTo ページがあるのでそちらを考えてみてはいかがでしょうか?
> https://wixtoolset.org/docs/v3/howtos/ui_and_localization/run_program_after_install/
>
> もし、いろいろ設定するのでそれだったらプログラム書いても…というのなら、
> 自分でCAを作ってしまうというのもありです。
>
> まぁ、そこまでやるくらいならバッチファイルの代わりにexe を作ったほうがいいんじゃない?
> という気もしますが。

回答有難うございます。遅くなり申し訳ありません。
ネット検索により実施できるものとして確認しておりました。
「kiku」さんにも回答しましたが、Wix自体理解不足であり設定変更等
の必要かと思っていました。
実行ファイル以外起動しないのであれば、「exe」作成も検討が必要ですが、
作成となると・・・・・
「exe」化を含め確認しますので、もう少しお待ちいただければと思います。

質問等初めてですので、本返信の仕方、内容に誤りであればご指導を
お願いいたします。
よろしくお願いいたします。
[ 親 102886 / □ Tree ] 返信 編集キー/

▲[ 102901 ] / 返信無し
■102902 / 3階層)  Re[3]: Wixインストーラでバッチファイルを実行したい
□投稿者/ ビール呑み (2回)-(2024/01/28(Sun) 10:41:44)
まったく確証も自信もないあてずっぽですが

cmd.exeに引数をつけて指定してやるのはどうですかね

例)
<Property Id="SETUP">cmd.exe /C フルパス/TestBat.bat</Property>
[ 親 102886 / □ Tree ] 返信 編集キー/

▲[ 102901 ] / 返信無し
■102903 / 3階層)  Re[3]: Wixインストーラでバッチファイルを実行したい
□投稿者/ ふぉげ (1回)-(2024/01/28(Sun) 19:52:00)
>>https://wixtoolset.org/docs/v3/howtos/ui_and_localization/run_program_after_install/
とっちゃんさんが提示されたリンク先はお読みになられたでしょうか。
ご質問の内容からリンク先のStep 2は今回不要で、Step 1、4は実施済みのようですのでStep 3を実施すれば良いように見えます。
Step 3に記載のようにWixShellExec CustomActionを利用する場合はPropertyにWixShellExecTargetを用います。


[ 親 102886 / □ Tree ] 返信 編集キー/

▲[ 102901 ] / 返信無し
■102906 / 3階層)  Re[3]: Wixインストーラでバッチファイルを実行したい
□投稿者/ とっちゃん (816回)-(2024/01/29(Mon) 17:57:04)
No102901 (けん さん) に返信

> 「kiku」さんにも回答しましたが、Wix自体理解不足であり設定変更等
> の必要かと思っていました。

現在のインストーラの構成がわからないので詳細は言及できかねますが

先に提示した WixShellExec CA(=CustomAction)を利用する方法で
今あるインストーラの修正内容を極力少なく済ませることができるのでは?と思います。

今あるインストーラがどうなっているのかがわからないので、WixShellExec を
呼び出すためにどういう設定を行えばいいかなどは、インストーラのソースを
参照できる質問者にしかわかりません。

それこそネット検索して調べる必要があると思います。



> バッチファイルが起動ができないようであれば、「とっちゃん」様
> よりの「exe」作成も必要かと思います。
> (exe作成等、初心者の状況です。)

> 実行ファイル以外起動しないのであれば、「exe」作成も検討が必要ですが、
> 作成となると・・・・・
> 「exe」化を含め確認しますので、もう少しお待ちいただければと思います。
>

exe 作成はできれば避けたいということのようですので、
インストーラだけ修正することで対応することを考えるほうが良いでしょう。

大変かもしれませんが、そのためにも英文を読むことを躊躇しないでください。
(意地悪で言ってるのではなく、インストーラのソースが読めないと
具体的にどうすればいいかはわからないのです)


> 質問等初めてですので、本返信の仕方、内容に誤りであればご指導を
> お願いいたします。

引用は全文ではなく、必要なところだけにすると読みやすいですよ。

それと、インストーラの作成が必要という場合少なからず英語情報を読む必要があります。
WiX は、日本語版の開発や日本語サポートなどがありませんので、
苦手であっても、英語文章の読解は必須となります。
機械翻訳を活用するなどして、頑張って読んでください。

もちろん、このスレッドで質問を継続してもらって問題ありません。
[ 親 102886 / □ Tree ] 返信 編集キー/


管理者用

- Child Tree -