-
Notifications
You must be signed in to change notification settings - Fork 34
/
build-and-release.txt
20 lines (15 loc) · 1.86 KB
/
build-and-release.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
There's a "build.bat" script in the "autoscreen\build" directory that does a Release build and uses ILMerge to
merge the assemblies into a single executable named "autoscreen.exe" (renamed from AutoScreenCapture.exe during the build).
It's necessary to have Visual Studio compile the executable as AutoScreenCapture.exe so that ILMerge can use "AutoScreenCapture.exe"
for merging the executable and its associated DLLs into "autoscreen.exe" as the output which is why you see this line in build.bat ...
ILMerge ..\bin\Release\AutoScreenCapture.exe /out:..\bin\Release\autoscreen.exe ..\bin\Release\Renci.SshNet.dll ..\bin\Release\Gavin.Kendall.SFTP.dll
The setup/installer "AutoScreenCaptureSetup.msi" will be compiled using the "autoscreen.exe" executable from bin\Release (that ILMerge generated)
so keep in mind that the installer requires the executable (added as a file in "File System") that was generated by ILMerge not by Visual Studio.
If you were to add the executable generated by Visual Studio the installer will also include dependencies and we don't want to include them as
part of the installation; we want to merge the dependencies into the "autoscreen.exe" executable and install that instead.
The Release folders for the AutoScreenCapture and AutoScreenCaptureSetup projects will be cleaned up by the batch script.
When you look in the "autoscreen\build" directory you should see "autoscreen.exe" and "AutoScreenCaptureSetup.msi".
Both are signed using the certificate named "autoscreen.pfx" found in the autoscreen directory.
SourceForge has a directory structure where you simply upload the EXE and the MSI. I usually put them in a folder
named after the version number. GitHub requires the branch you're targeting and a version number when drafting a release.
You can also upload the EXE and MSI to GitHub but it's not necessary. I think most people download from SourceForge anyway.