Search code examples
windowsregistryinno-setupstartup

Start application with parameters on Windows start


I am trying to have my application automatically launch and run the log-in logic when Windows starts up.

I've got it working with a shortcut in the startup folder with parameters but I was wondering if there is some way to set a registry key that can start my program and pass it parameters like a shortcut would?

I'm using Inno Setup for the installer and I was using this line:

Name: "{commonstartup}\AppNameHere"; Filename: "{app}\AppNameHere.exe"; \
    Parameters: "/login"`

But I want to be able to instead use a registry entry like so:

Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; \
    ValueType: string; ValueName: "AppNameHere"; ValueData: """{app}\AppNameHere.exe"""; \
    Flags: uninsdeletevalue`

I thought there would be some way to specify parameters for the startup but I cannot find anything on the Inno Setup website other than what I already found out about adding the registry key itself from http://www.jrsoftware.org/iskb.php?startwithwindows

Does anyone have experience with adding registry keys and starting applications with parameters on Windows startup?


Solution

  • You can include parameters in ValueData, separated with a space from each other and from the executable path. E.g.:

    [Registry]
    Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"; \
        ValueType: string; ValueName: "AppNameHere"; \
        ValueData: """{app}\AppNameHere.exe"" /login"