Visual Studio Installer 編集の自動化
Visual Studio Installer - kitunechan’s blog の続き
毎回Orcaを使って編集するのはめんどくさいし、”よく忘れます”← ここ重要
コマンドラインやバッチファイル的なものはないかと探したらありました。
vbsを使う方法が一番簡単そうです。
MSIファイルのWindows Installerデータベースをプログラムで編集する: .NET Tips: C#, VB.NET
以下の内容でvbsファイルを作成します。
[アドバタイズショートカットから通常のショートカットに切り替える]
NormalShortCut.vbs
Option Explicit Const msiOpenDatabaseModeTransact = 1 Dim msiPath : msiPath = Wscript.Arguments(0) Dim installer Set installer = Wscript.CreateObject("WindowsInstaller.Installer") Dim database Set database = installer.OpenDatabase(msiPath, msiOpenDatabaseModeTransact) Dim query query = "INSERT INTO Property(Property, Value) VALUES('DISABLEADVTSHORTCUTS', '1')" Dim view Set view = database.OpenView(query) view.Execute database.Commit
あとはこのファイルにmsiファイルを渡すだけです。
何かのウインドウが開くこともなく、msiファイルが書き換えられます。
Visual StudioでPostBuildEventに以下のコードを入力して自動化します。
"[パス]\NormalShortCut.vbs" "$(BuiltOuputPath)"