0
votes

I want to run a batch before i compile the NSIS script.

I found execWait. This start the batch file while the installation of my application.

I also tried !execute 'batch.bat' but then i get an error while compiling.

This is the content of my batch file:

@echo off
@type file.txt > destination.txt
@echo. >> destination.txt
@svnversion.exe >> destination.txt

1. Update

This is what i put in my nsi file but it doesn't work.

!tempfile BAT
!appendfile "${BAT}.cmd" "@echo off$\r$\n"
!appendfile "${BAT}.cmd" "@type file.txt > destination.txt$\r$\n"
!appendfile "${BAT}.cmd" "@echo. >> destination.txt$\r$\n"
!appendfile "${BAT}.cmd" "@svnversion.exe >> destination.txt$\r$\n"
!system '"${BAT}.cmd"'
!delfile "${BAT}.cmd"
!undef BAT

The Error is "Cant't open output file" "Error - aborting creation process"

Do i something wrong in the sourcecode?

1

1 Answers

3
votes

Try !system.

You can even create the batch file in the .nsi:

!tempfile BAT
!appendfile "${BAT}.cmd" "@echo off$\r$\n"
!appendfile "${BAT}.cmd" "@echo Hello$\r$\n"
!system '"${BAT}.cmd"'
!delfile "${BAT}.cmd"
!undef BAT