私は非常に単純な (しかし非常に役立つと信じている) PowerShell スクリプトを作成し、.cmd ファイルの形式でそのインストーラーを作成しました。ディストリビューションには、2 つの .cmd ファイルと 2 つの .ps1 ファイルが含まれています。現在、インストーラーは必要なすべてのファイルを github からダウンロードします。
私の目標は、インストーラーを自己完結型にして、厳密なファイアウォールの背後でも使用できるようにすることです。
1 つのアプローチは次のようになります。
echo param(>!filename!
echo [string] $pfilename>>!filename!
echo )>>!filename!
...
しかし、このアプローチでは特殊文字をエスケープする必要があり、非常に複雑になる可能性があります。その上、便利にするために何らかの方法で自動化する必要があります。
もう 1 つの方法は、スクリプト ソース コードを .cmd ファイルに直接含め、コメントなどでマークして::begin file1
から::end file1
抽出することです。しかし、どのように?
私の最初の考えは、調べることでしたpl2bat
。しかし、行の前のすべてのテキストを削除するperl
特別なスイッチ ( ) があり、 によって生成された .bat ファイルはそれ自体で実行されることが判明しました。したがって、使用するのと同じアプローチは使用できません。-x
#!perl
pl2bat
perl -x
pl2bat
何か案は?
PS: NSIS、InnoSetup、WiX については知っています。インストーラーをバイナリではなくテキストにして、誰もが無害であることを確認できるようにしたいだけです。