My folder structure looks like this:
It is this script I try to run. What I try to do in the script is:installer script.nsi
bin (folder) -> main file.txt
-> Installer (folder) -> ShellUtil (folder) -> ShellUtil.tlb
ShellUtil (folder) -> ShellUtil.tlb
1. Copy "main file.txt" in "bin" folder to install directory ($INSTDIR) - works fine
2. Copy "ShellUtil.tlb" in "ShellUtil" folder to install directory ($INSTDIR) - works fine
3. Copy whatever is in "ShellUtil" folder to "$INSTDIR\Installer" folder. So in step 3, this should happen after installation (assuming I install to "C:\Program Files\ABC\")
But what I get is:C:\Program Files\ABC -> Installer (folder) -> ShellUtil (folder) -> ShellUtil.tlb
That is additionally a "bin" folder is added to "C:\Program Files\ABC\Installer" and certain file goes into it. I do not know what has gone wrong there. I did not ask NSIS to copy folder "Installer" in "bin" folder at the time of compiling.C:\Program Files\ABC -> Installer (folder) -> ShellUtil (folder) -> ShellUtil.tlb #this line is fine
-> bin (folder) -> Installer (folder) -> ShellUtil (folder) -> ShellUtil.tlb
This is my code:
For the complete test case, I have attached a trimmed setup which does exactly this 🙁Section "Install Core Files" Section1
SectionIn RO
SetShellVarContext all #important
!insertmacro MUI_HEADER_TEXT "Installation in progress " "Please wait"
SetOutPath $INSTDIR
File "bin\main file.txt"
SetOutPath $INSTDIR
File "ShellUtil\ShellUtil.tlb"
;installer section
SetOutPath "$INSTDIR\Installer"
File /a /r "ShellUtil"
SectionEnd