11

Every time I turn my computer on and it gets into Windows, Steam immediately pops up and says it has failed to connect and that I can either retry or start in offline mode.

After this, my network connects and my router issues me an IP address.

What can I do to force Steam to not start until after my computer is connected to the internet (I do not want to start in offline mode)?

Edit:

System specs:

Windows 7 Ultimate 64-bit
Intel X-25M 160GB Solid State Drive
Intel Core i7 920 OC @ 3.2Ghz
ATI Radeon 4890HD
12 gigabytes of RAM
4
  • It would be nice to know what operating system you have.
    – user28379
    Commented Dec 20, 2012 at 0:09
  • heh, yeah I can put more details in...
    – Bill Barry
    Commented Dec 20, 2012 at 0:27
  • Are your WiFi settings only accessible by your user profile or are they system wide (can Windows access your network without you logged in?)?
    – CyberSkull
    Commented Dec 20, 2012 at 18:23
  • You could also turn off the 'Start Steam with Windows' thing, and open Steam manually.
    – GnomeSlice
    Commented Dec 20, 2012 at 23:05

5 Answers 5

7

With Windows 8 (and presumably Windows 7 too) you can create a Scheduled Task.

  1. Open Task Scheduler
  2. Create a Task (not the basic one)
  3. In the Triggers tab create a new trigger select At Log On, the specified user and add a delay of 1 minute
  4. In the action tab create a new action that launch Steam.exe
  5. Check if other default settings are ok for your environment and save it.

    Delay Task

1
  • Oh yes in this case you have to remove it form msconfig or simply in Steam setting disable automatic startup at logon.
    – Drake
    Commented Dec 20, 2012 at 17:21
5

There are a couple of ways to do this. You could use MSCONFIG to disable the startup entry completely, or you can delay it for a set amount of time (in seconds).

Disabling the startup entry using MSCONFIG
You can access this utility by hitting Start and either typing msconfig and selecting it on the list, or by clicking Run, typing msconfig and pressing OK. What is msconfig? Msconfig is a system configuration utility provided by Windows. Using Msconfig you can disable Steam from launching at startup by clicking the Startup tab and unchecking the box next to the name Steam. Do not touch anything else, and press the okay button when you are done. It is up to you if you want to reboot or not when prompted. There are other ways of doing this, but are not recommended because that involves messing with the registry, and that's not something you want to screw up.

Delaying the program using an third-party program
Using some of the programs listed here, you can delay the time that Steam starts after your computer boots up (in seconds).

Stopping Steam from launching at startup via Steam

You can also disable it using Steam, if you don't like messing around with stuff that you could screw up. Go in steam, and click the Steam tab. Then, click settings and the INTERFACE tab. Uncheck the box that says "Run Steam when my computer starts".

4
  • 1
    I am pretty sure steam has a built in preference to not autostart, which would be much safer than using MSCONFIG.
    – Colin D
    Commented Dec 20, 2012 at 16:08
  • Yes, but I explicitly told him not to touch anything else.
    – user28379
    Commented Dec 20, 2012 at 21:17
  • 2
    I am comfortable with MSCONFIG and regedit, I guess the general answer to my question is disable the autostart and either use the delayed scheduled task option in the other answer or download/write myself a tool that polls for an available network connection and then starts steam.
    – Bill Barry
    Commented Dec 20, 2012 at 23:59
  • 1
    Why not just start it up when you need it?
    – user28379
    Commented Dec 21, 2012 at 0:33
1

Steam has a built in feature that disables its launch at startup time.

https://support.steampowered.com/kb_article.php?ref=5344-QWBN-3580

using this means you will have to launch the application yourself, but it will solve your problems without mucking with external programs, msconfig, or the registry.

0

Here are a few guides on how to delay services' startups:

Delay the Startup of a Service

How to delay loading of specific services

The first guide is just a simple menu change. But, if it doesn't work you can try the second guide which is more advanced and involves modifying your registry.

3
  • 3
    Steam doesn't run as a service, it's an application.
    – k1DBLITZ
    Commented Dec 20, 2012 at 0:33
  • 1
    @k1DBLITZ That's actually partially incorrect. According to my services.msc, there is a "Steam Client Service". The description is "Steam Client Service monitors and updates Steam content." This could be the thing being loaded at startup, but I doubt it because Steam is an application, as you said.
    – user28379
    Commented Dec 20, 2012 at 0:39
  • 1
    There is a Steam client service, that's correct. But it's not the one starting the application. The application is started by system start-up routines, as described in this answer, and THEN the application makes requests to the Steam service.
    – DrFish
    Commented Dec 20, 2012 at 10:00
0

Launch Steam on Internet connection via LAN (might work for wireless, too)

How to launch Steam only after IPv4 or IPv6 Internet connection has been established by your network card (I couldn't add a comment to the answer involving Windows Task Scheduler, that's why I've answered here).

The answer is Xpath filter.

You will need to add two triggers to the Windows Scheduler task that will be used to launch Steam.exe in silent mode.

Start the Windows Scheduler. Right click on Computer, select Manage, go to Task Scheduler, select Task Scheduler Library, right click on it, select Create New Task

enter image description here

Choose a name for your task like Launch Steam on Internet connection.

enter image description here

Switch to tab Actions, click New… button, browse to your Steam folder and select Steam.exe.In the field Add arguments (optional) add –silent. We don’t want Steam popping up during launch.

enter image description here

Switch to Triggers tab, Begin new task: On an event, Settings: Custom, and press New Event Filter…

enter image description here

Switch to XML tab, check the box Edit filter manually. Then paste one of the two filter queries below. You will have to take the same steps to add a trigger for the other filter query.

enter image description here

FILTER QUERIES

IPv4 Internet connection has been established

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[(EventID=10000)]] and *[EventData[(Data[@Name="State"]=9)]] </Select>
  </Query>
</QueryList>

IPv6 local Internet connection has been established

<QueryList>
  <Query Id="0" Path="Microsoft-Windows-NetworkProfile/Operational">
    <Select Path="Microsoft-Windows-NetworkProfile/Operational">*[System[(EventID=10000)]] and *[EventData[(Data[@Name="State"]=25)]] </Select>
  </Query>
</QueryList>

I came up with the idea to use an XML query for Windows Task Scheduler after reading about it here. http://blog.oneboredadmin.com/2013/05/filtering-windows-event-log-using-xpath.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.