私は2つの主要なことを行うC#アプリケーションを公開しようとしています。まず、SAP(ソフトウェアソリューションビジネス)サービスに入るVBScriptを実行し、Excelタイプの形式で情報を取得します。次に、私のプログラムはメインのC#パーツを実行してデータを操作し、デスクトップ上のExcelファイルに保存します。それは私のコンピューターで非常にうまく機能します。ただし、このアプリケーションを他の3台のコンピューターで公開する必要があります。実行しているVBScriptファイルはコンピューターにある特定のWorkingDriectoryを介して実行されるため、これを行う方法がわかりません。 VBScriptを実行する別の方法はありますか、またはファイルがインストールされている場所に関係なく、同じ作業ディレクトリを持つ場所にファイルを配置できますか?
私はこれに関する多くのリソースを見つけることができないようで(おそらく特定の流行語がわからないため)、プログラム自体の一部ではなく、ディレクトリを使用して実行されたVBSファイルを見ただけです。他のスクリプトを実行する方法を見つけるための他のすべての検索は、特定のディレクトリから実行する同じ結果をもたらしました。また、多くの人が、VBScriptをソリューションのファイルとして作成し、それをプログラム自体から直接実行することはできないと言っているのを見てきました。
ここにいくつかの可能なオプションが表示されます。これにはおそらく他の方法もあるでしょう。
Microsoft Visual Studio 2017 Installer Projects および その上のMSDNドキュメント を参照してください。これにより、C#プロジェクトのインストーラープロジェクトを設定できます。 .vbs
ファイルと、そのファイルをコピーするターゲットマシンの場所を含めるように指定できます。このファイルは、C#プログラムの実行可能ファイルと同じディレクトリか、AppDataなどのどこかに配置できます。次に、コードで.vbs
スクリプトを探すときにその場所をポイントします。
C#コード内から.vbs
スクリプトからコマンドを実行できます。これにより、追加の.vbs
ファイルが不要になります。 このSO質問 は、その方法をカバーしていますが、Googleを使用していると、リソースが溢れています。
.vbs
ファイルについて心配する必要はありませんvbs
コードを変更する必要がある場合は、すべてのマシンに再コンパイルして再デプロイする必要があります実際のC#ですべてのvbs
コードを書き直します。これは、vbs
が短くて単純な場合に機能する可能性がありますが、これより多くの作業がある場合は、追加の作業が多くなることを理解しています。
ただし、質問に直接回答するために、通常、プログラムで使用されるファイルは、プログラムがインストールされるフォルダーと同じ場所、または\AppData\Local\MyProgram\MyProgramsScript.vbs
などのAppDataのどこかに保存されています。