2017/01/14

[Go言語] msiインストーラー の情報を記載したxmlを更新する

お仕事で「msiインストーラーの情報をまとめたxmlを、インストーラー更新に伴って更新したい」
という場面があったので、先日のVBScriptと組み合わせてコマンドラインツールを作りましたヽ(=´▽`=)ノ

Go言語でのXML読み書きに少し苦戦しましたがなんとかできました。go vetコマンドは偉大!
これまたGistにアップしてます

扱うデータとコード例


msiインストーラの情報をまとめたInfo.xmlに対して、以下を実施するサンプルです。
  1. 引数で渡されたパスのXMLファイルを読みこむ
  2. SoftwareInfoのMsiPath記載のmsiファイルからProductVersion情報を読み込む
    • MsiProperty.vbs使用
  3. 読み出した値をSoftwareInfoのProductVersionに反映
  4. 元のXMLファイルに書き込み

参考URL


XMLの名前空間(xmlns)の扱いや階層を飛ばして読み込む方法などを教えていただきました。
感謝!ヽ(=´▽`=)ノ

0 件のコメント: