Hi, I'm new to NSIS, so please bear with my ignorance. I have written a program with C language with a Gtk3 GUI and have packaged it for Debian Linux (Ubuntu) and Windows 10 with Makefile and autoreconf. I have installed MSYS2 and NSIS on Windows 10 and am now attempting to blunder my way through the NSIS installer. I have created a simple helloworld Gtk window executable, which I have copied to the working directory. Using Example2 from the NSIS Examples to install to the Windows 10 Start Menu with
File "helloworld.exe", and uninstall.exe. These are installed, but the helloworld.exe will only run from the MSYS2 terminal prompt (in both the working directory and the destination directory, ./helloworld.exe), if I click on the icon in the start menu, or use
Section "Section3"
Exec '"$INSTDIR\helloworld.exe"'
SectionEnd
then I get an error dialogue that reads: System Error: libgtk-3-0.dll and libgobject-2.0-0.dll not found. If I copy these two .dll files to the working directory then use
File "helloworld.exe"
!insertmacro InstallLib DLL SHARED REBOOT_NOTPROTECTED libgtk-3-0.dll $INSTDIR\libgtk-3-0.dll $INSTDIR
and same for libgobject-2.0-0.dll, then get Application Error: Application unable to start correctly (0xc000007b) dialogue. I get these same errors if I use !insertmacro or not.
Is !insertmacro InstallLib the way to do this? If so, do I need the other files associated with the .dll files?
Could this be a matter of using the "PATH" environment variable? If so, how is this done?
Should I use a plugin for C?
Many Thanks,
Roger.
File "helloworld.exe", and uninstall.exe. These are installed, but the helloworld.exe will only run from the MSYS2 terminal prompt (in both the working directory and the destination directory, ./helloworld.exe), if I click on the icon in the start menu, or use
Section "Section3"
Exec '"$INSTDIR\helloworld.exe"'
SectionEnd
then I get an error dialogue that reads: System Error: libgtk-3-0.dll and libgobject-2.0-0.dll not found. If I copy these two .dll files to the working directory then use
File "helloworld.exe"
!insertmacro InstallLib DLL SHARED REBOOT_NOTPROTECTED libgtk-3-0.dll $INSTDIR\libgtk-3-0.dll $INSTDIR
and same for libgobject-2.0-0.dll, then get Application Error: Application unable to start correctly (0xc000007b) dialogue. I get these same errors if I use !insertmacro or not.
Is !insertmacro InstallLib the way to do this? If so, do I need the other files associated with the .dll files?
Could this be a matter of using the "PATH" environment variable? If so, how is this done?
Should I use a plugin for C?
Many Thanks,
Roger.
Comment