私はNSISインストーラ(Windowsフォームアプリケーション)で作業しています。.nsiファイルを引数として静かに引数として渡して実行し、.exeを作成します。
アプリケーションの主なアイデアは、ユーザーがWindowsフォームアプリケーションを実行し、必要な設定をすべて構成し、「終了」をクリックすると自動的に.nsisファイルが生成されます。また、makeNSIS.exeはで、私のアプリケーションにはが含まれているため、インストーラを使用するためにユーザをインストールする必要はありません。
私の目標は、setup.exeファイルを静かに生成することです。自動的に生成された.nsiファイルを引数としてmakeNSIS.exeに渡し、実行するように指示して、特定のパスにsetup.exeファイルを作成します。そして、私はすべてのことを静かにしたい。私の失敗した試験の
ワン:
ProcessStartInfo psi = new ProcessStartInfo();
//my automatically generated nsis file
psi.Arguments = Application.StartupPath + "\\NSIS\\NSIS SG Project\\NSIS\\My application.nsi";
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
//nsis application that is included in my project so that users wouldn't have to install it
psi.FileName = Application.StartupPath + "\\NSIS\\makeNSIS.exe";
Process.Start(psi);
私が間違っているのか?
ウィンドウを非表示にしても、出力にエラーはありますか?プロセス終了コードですか? – Anders
それは成功したと言いますが、どこにもexeファイルは生成されていません。私がcmdに直接 "makensis.exe mynsisfile.nsi"と入力しても、すべて正常に実行されますが、exeファイルは表示されません。どうなり得るか? – Dovile
.nsiの "OutFile"命令は、生成されたインストーラの名前(およびオプションのパス)を設定します。 – Anders