Launch wrapped exe with NSIS installer on windows startup - nsis

I am creating an installer that is wrapping an abc.exe with it. This installer is running the exe as a tray icon. But when I restart my system this exe will stop and won't be seen in tray icon anymore. I want this exe to be started again on windows restart. How can this be achieved?
I have tried below commands but not helpful:
CreateShortCut "$SMPROGRAMS${abc}.lnk" "$INSTDIR\abc.exe"
CreateDirectory "$SMPROGRAMS\abc"
CreateShortCut "$SMPROGRAMS\abc\abc.lnk" "$INSTDIR\abc.exe"
CreateShortCut "$DESKTOP\abc.lnk" "$INSTDIR\abc.exe"
CreateShortCut "$SMPROGRAMS\abc\Uninstall abc.lnk" "$INSTDIR\uninstall.exe"
Any help is appreciated!!!Thanks in advance

Windows does not know that the application is always supposed to run, you need to register it in the correct location.
CreateShortcut "$SMSTARTUP\MyApp.lnk" "$INSTDIR\abc.exe"

Related

How to launch Android Studio from terminal on Windows (and Linux)?

I'm struggling to understand how to open applications from shell.
When I use Atom, I can just run
$ atom .
command to open it in the current directory, but I don't know how to do it with Android Studio.
I don't know if it has something to do with aliases, environment variables or something else, but I'd like to know how this stuff works. I'd also appreciate a short comparison of the same problem on Linux.
On my winslow-7 machine there is an icon on the desktop named "Android studio".
I checked the properties of this icon, and in the destination field I've found:
"C:\Program Files\Android\Android Studio\bin\studio64.exe"
If I type that in a command prompt, Android studio opens normally.
A similar thing works in Linux too.
Basically, to run a program, you have to know where its executable resides; then you can ask the shell to run that executable. A few directories are searched automatically by the system and, if the executable resides in one of those directories, there is no need to indicate the full path - the name of the file suffices. The list of directories is an environment variable, PATH, for both windows and Linux.
This is a short and incomplete answer, though; your question asks a comparison and/or something more, but it is not clear and there would be a lot to say.
If you use the studio64 . command, your current folder will open in android studio.
This works if you've added the path of the bin directory of the android studio installation folder to environment variables. In my case, it is C:\Program Files\Android\Android Studio\bin.
This works the same as atom . or code .(VSCode)
The problem is, that it returns a bunch of warnings and stuff in the terminal before launching android studio. Also, if you close the terminal, the studio crashes.
It works but it's not purrfect.
For Windows:
Make a shortcut for your application and place in C:\WINDOWS\System32
you will be able to call it by the name of the shortcut.
For Linux:
echo $PATH

Visual studio 2012 fails: CompatibilityMode : Windows Program Compatibility mode is on

Guys I'm trying to install Visual Studio 2012 in Win8.1 but unfortunately I face this error:
Compatibility Mode : Windows Program Compatibility mode is on. Turn it off and then try Setup again
Could you please help me how to fix it step by step?
Go to installation (.exe) file.
Right Click on that file.
click on Properties option.
Then select to compatibility .
Check the option Run this program in compatibility mode for : and select for Windows 8.
In Settings Check the Run this program as an administrator.
finally ok and apply this setting and the .exe again.
I hope this will work surely.
This answer is from this link
Run the uninstaller until it fails
Go to task manager
Call up the context menu for the installer process (right-click)
Select ‘open file location’
This will open the package folder
Call up the context menu for the uninstaller executable
Select the ‘compatibility’ tab
Disable all compatibility settings over here
This could happen if you are trying to install the program from iso.
Extract it first to a folder, then install it from the folder. It worked for me.

How to copy and install a dll into assembly folder using NSIS on an Windows OS with elevated UAC

I am building an application setup where the installation involves copying and registering Microsoft.VisualBasic.PowerPacks.Vs into the Windows assembly folder. This process sometimes fails on a Windows 7 system where the UAC is active.Currently, i use the following script in a section:
SetOutPath $INSTDIR\bin
File "..\MyFolder\systemfiles\Microsoft.VisualBasic.PowerPacks.Vs.dll
ExecWait '"$R0\RegAsm.exe" Microsoft.VisualBasic.PowerPacks.Vs.dll'
Requesting to kindly provide me some script/solution to successfully copy and register the dll even when the UAC is elevated on a Windows 7 system
All NSIS installers should contain a RequestExecutionLevel attribute, it is inspected by Windows Vista and later when UAC is on.
Your installer needs to request administrator privileges when you are installing things in GAC, SxS etc:
Outfile RequireAdmin.exe
RequestExecutionLevel admin ;Require admin rights on NT6+ (When UAC is turned on)
!include LogicLib.nsh
Function .onInit
UserInfo::GetAccountType
pop $0
${If} $0 != "admin" ;Require admin rights on NT4+
MessageBox mb_iconstop "Administrator rights required!"
SetErrorLevel 740 ;ERROR_ELEVATION_REQUIRED
Quit
${EndIf}
FunctionEnd
Page InstFile
Section
SectionEnd

Silent install parameter ignored, InstallShield 2009

I've just inherited an InstallShield 2009 project from a guy who left (oh joy) and am trying to get the setup.exe to run in silent mode. The project is a Basic MSI project and according to the documentation, I should be able to specify the /s switch combined with /v/qn to make the installer and MSI process silent. However, when I do this, the process shows all the dialogs as normal. I've tried generating an answer file with the /r switch, but this fails to produce any sign of a setup.iss any where (I checked the windows folder, which is where it apparently goes).
Why would the process be ignoring the silent commands? I can see nothing in the install log that indicates a problem... The command line I am using is this:
setup.exe /s /v/qn
I've tried various combinations of lower and uppercase to no avail. Any advice would be appreciated.
Steve
Edit:
I've also tried:
setup.exe /s /v"/qn"
Which did not work also.
Edit 2:
It might be worth pointing out that the installer is performing and upgrade from a previous version of the product to a newer version. The first dialog that pops up is the "extracting msi" dialog followed by the "welcome to upgrade" dialog.
The following should work for InstallShield 9:
Setup.exe /s /V/qn
If you want to send commands to the MSI, do the following:
Setup.exe /s /V"/qn ADDLOCAL=ALL"
NOTE: The v is capitalized. Some versions of InstallShield use lowercase and others use Uppercase for v.
Try
setup.exe /s /v"/qn"
Basically /s is to tell setup.exe to run silent and /v is to pass parms to MSI so you have to wrap it in quotes. /qn tells MSI to run with no UI.
Setup.exe and Update.exe Command-Line Parameters
The Command-Line Options for the Microsoft Windows Installer Tool Msiexec.exe

nsis: How do I create a start menu shortcut to open a folder?

My NSIS installer creates Start Menu links to run and uninstall my application.
Using NSIS, how do I create StartMenu shortcut to open a folder in Windows Explorer?
the same as any other shortcut
CreateShortcut "$smprograms\my app\my shortcut.lnk" "c:\path\to\folder"
this is explorer 99% of the time, and its really what you want, but if you want to force explorer
CreateShortcut "$smprograms\my app\my shortcut.lnk" "$windir\explorer.exe" '/e,"c:\path\to\folder"'
but that shortcut will have the wrong icon etc

Resources