Repeated Steam First-Time Setup Fix [Temporary]

Discussion in 'Player Support' started by Psieonic, Oct 25, 2013.

  1. Psieonic

    The following steps will direct you on how to prevent Steam from continually performing that infuriating first-time setup and asking you for UAC elevated permissions every time you start Planetside 2.


    Stage 1
    1. Navigate to your Planetside 2 directory in My Computer/Explorer. (Default is C:\Program Files (x86)\Steam\steamapps\common\Planetside 2 under WIndows 7 64-bit. May differ for others.)
    2. Find and double-click the file named installscript.vdf.
    3. Click the second option and OK. (Select a program from a list of installed programs.)
    4. Click Notepad, uncheck "Always use the selected program" and then OK.
    5. Press Ctrl+A then Backspace to delete everything inside the file.
    6. Press Ctrl+S to save the file.
    7. Close Notepad.
    You'll now have an empty file named installscript.vdf there. This alone will not do the job.


    Stage 2
    1. Right-click installscript.vdf and click Properties.
    2. Check the Read-only box then click Apply.
    3. Select the Security tab then click Advanced.
    4. Click Change Permissions.
    5. Click Add...
    6. Type Everyone then click OK.
    7. Look for the line that says Write Attributes and click the Deny checkbox on the right, then click OK.
    8. Click OK again.
    9. Click Yes to the security warning that pops up. (If it does.)
    10. Click OK once more.
    11. And click OK for the last time.
    Stage 3
    1. Go the hell and play Planetside 2.
    2. Kick ***.
    3. Take names.
    4. Chew bubblegum.
    Steam will now piss off and no longer perform first-time setup each time you try to play.
    Caveat: This is a temporary fix. This modification actually prevents Steam and in fact, /anyone/ on your computer from modifying that file, because of the Read-Only attribute you set on it. Further, it will prevent Steam/anyone from removing that Read-only tag, which Steam will try to do otherwise without adding the Security permission to deny writing attributes.

    When/if SOE ever get their ***** into gear to actually effing fix this stupidly simple to solve bug, you'll need to go back into the Security Permissions tab again and remove that permission to deny Everyone from writing attributes. This will allow Steam to once again re-write the install scripts file and perform the first-time setup. Assuming of course, SOE fixed it.
    Thank-you, that is all. Happy gaming.
  2. Octiceps

    I wouldn't recommend this workaround as there is actually a correct way to resolve this issue. The true fix is to create the missing Windows Registry values that are responsible for causing it in the first place. I'll provide more details in another post when I'm back on my computer.
  3. Octiceps

    OK more background on this problem and the fix.

    This is obviously only a problem with the Steam version of PlanetSide 2. The standalone version is unaffected. I'm guessing because most people play using the standalone client that's why this hasn't been brought up until now.

    This issue only comes up if you've installed the game by backing up and copying over the installation folder. This copy-and-paste method of installing Steam games is what I do when I reformat my computer so I don't have to waste hours redownloading all my games and it's how I first encountered this issue. This issue does not come up if you completely redownload and reinstall the game from scratch.

    What happens when you don't redownload the entire game from Steam is that it fails to create two DWORD (32-bit) Values called FixTimestamp_common and FixTimestamp_play with hexadecimal value 1 at the Computer\HKEY_CURRENT_USER\Software\Valve\Steam\Apps\218230 directory in the Windows Registry. So you need to manually add in these two values.

    Detailed instructions:
    1. Open the Registry Editor by typing regedit in Windows Search.
    2. Navigate to Computer\HKEY_CURRENT_USER\Software\Valve\Steam\Apps\218230.
    3. On the right side there should already be a few values present. You need to add in the two missing ones.
    4. Right-click on an empty space on the right side and select New>DWORD (32-bit) Value.
    5. Value name is FixTimestamp_common, value data is 1, and base is hexadecimal.
    6. Press OK.
    7. Repeat the above steps and create another DWORD (32-bit) Value in the same place called FixTimestamp_play
    8. Close regedit and you're done!
    Now you should no longer experience the UAC prompt and first-time setup every time you launch PlanetSide 2 from Steam. If you've already messed around with installscript.vdf in the PS2 directory like the OP did, delete it and run PS2. It should perform the first-time setup again and create a new installscript.vdf file. Exit the game and now do the above registry fix.

    How did I discover this fix, you might ask? It was simple. I looked at installscript.vdf as well as the log of first-time setups for newly installed Steam games and found there was an error code relating to the two missing Registry values each time you launched the game. Adding the two missing values got rid of the startup prompt as well as the errors in the log.

    Take care!
  4. Psieonic

    Ahh interesting, I couldn't quite find an error log, though I didn't take a solid look. I was aware there were likely registry entries but without knowing what they were or any way to check, I couldn't use them evidently. :p

    Was there no third registry entry for the DirectX Redist first-time setup?
  5. Psieonic

    The other thing I had contemplated was getting my hands on the missing files that cause this to fail in the first place. There are two script files and an exe that /should/ be with a Steam version of PS2, specified in the vdf, as well as the DirectX redstributables. They are as follows;

    FixTimestamps.exe
    fix_play.soe
    fix_common.soe

    My copy was missing 'fix_play.soe' and thus would continue to fail. I later re-installed from the site so my copy is now missing all three.

    Also, I double checked, and those two registry entries alone you specified aren't enough to prevent the UAC requests. There should be one more for the DirectX Setup.
  6. Octiceps

    FixTimestamps.exe is in my PS2 folder. I don't have a fix_play.soe or fix_common.soe anywhere on my computer. Perhaps you should try validating the game assets through the client before trying my fix. Never do verify integrity of game cache through Steam for PS2 because it will **** everything up and redownload everything.

    Adding those two Registry entries were enough for me because the DXSetup entry was already there. It's created the first time you run the prerequisites setup, so maybe yours didn't complete properly. This is what my Registry looks like:

    [IMG]

    [IMG]

    I've installed and reinstalled PS2 on several computers and adding those two missing Regsitry entries has always worked for me and never given me problems since.
  7. Psieonic

    I stupidly validated using Steam last week and knew I'd done screwed up the instant it said I had some 2,900 files or so to reacquire. I just cancelled and uninstalled and re-downloaded directly from the site, since I knew it would be downloading a dated version from Steam anyway.

    I had tried this because I was getting the UAC prompts, hoping it would solve the issue. I had already re-validated using the game launcher to no effect.

    What I've done is I've restored my old appmanifest file for PS2 however, and copied the game back into my steamapps. This effectively restored Steam to where it was before, treating the game as fully installed and allowing me to launch it from steam once again.

    However the UAC prompts continue to persist. I'm certain this is occurring because none of aforementioned files are normally included in the standard game client. They're only ever acquired from Steam and thus, aren't validated by the launcher.

    Since this is a completely fresh install of the non-Steam copy of PS2, and my original PS2 install was already a copy/transfer from an old Windows install I brought over with Steam, none of the original registry entries were present. That's how I ended up in this situation. :p

    Even after adding all entries listed on your screenshot however, in both the already existing Valve keys under SOFTWARE\Wow6432Node and directly under SOFTWARE, the UAC prompts still keep coming up. Are you running a 32 or 64-bit version of windows?

    One other thought I have is perhaps the DirectX version is being checked outside of what's defined in the installscript. Could you check the contents of your Valve\Steam\Apps\CommonRedist\DirectX key?
  8. Octiceps

    I'm running Windows 8 Pro x64 (see sig).

    Sounds like you've made quite a mess of things already. I would suggest uninstalling all versions of PS2 from your PC and doing a fresh redownload and reinstallation from Steam. That should cure everything.

    I don't have a Computer\HKEY_CURRENT_USER\Software\Valve\Steam\Apps\CommonRedist\DirectX directory in my Registry. The only things under \Apps\ are folders with the Steam App ID's of my installed games.
  9. Psieonic

    I wouldn't call it a mess. It's a clean copy of PS2 from the website, just planted into Steam. Steam knows no different nor does it need to and the only difference between it and the Steam content server version is that the Steam version is severely out of date and those three files, one of which is apparently missing anyway.

    Point of the matter really is this; SOE haven't properly setup the installscript, either by mis-configuring it or not providing all the necessary files in an updated version of PS2 on the content servers. While adding the correct registry entries does work in /some/ cases, it evidently does not work in all cases. My original method, clearing out the installscript and preventing steam from re-writing it, so far has proven a reliable method of preventing first-run setup reoccurring, even if it does mean manually undoing the changes when/if SOE ever do properly solve the issue.

    Finally, if people's copies of PS2 are running fine anyway, save for that UAC First-run issue, there's no reason you'll ever need to run the installscript again anyway. So I really see no harm in it.

    Besides, I really don't feel like downloading another 15+GB of dated content and the following game updates/patches, on the hope that it will actually fix this UAC issue. :p Not worth the time for something relatively minor which I can solve more or less with a quick and dirty hack that has no real drawbacks anyway.
  10. DubiousPhysics

    Just some additional notes here, since I spent a couple of hours battling this after transferring my Steam install between computers:

    tl;dr, if you're using the "clean" way to sort this out, make sure you're editing registry keys under HKEY_CURRENT_USER, not HKEY_LOCAL_MACHINE. Failing that, create two empty text files in your PlanetSide 2 folder ("C:\Program Files (x86)\Steam\steamapps\common\PlanetSide 2"), name one "fix_play.soe", name the other "fix_common.soe", and launch PlanetSide 2 from Steam.
    • Background, guessing: FixTimestamps.exe appears to be used for some sort of verification fix. I'm just guessing, but maybe SOE Launchpad's file verification is partly timestamp-based, and the timestamps on the Steam distributed files are incorrect (which would force you to redownload a bunch more than you needed to the first time you ran the game after installing from Steam). Or it could just be useless, I don't know.
    • Background, no longer guessing: FixTimestamps.exe appears to take an input file (that's what fix_play.soe and fix_common.soe are for) which tells it what timestamps to correct. It deletes the file after it's done, that's why these files are included in the original Steam install, but no longer available if you transfer your install. They are not included in the stock SOE install.
    • For some reason, the registry keys for PlanetSide 2's Steam install script are under HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE, where this stuff usually is. I completely missed this the first time I read the relevant installscript.vdf file and Octiceps' post, and was subsequently very baffled by Steam apparently ignoring registry keys. Make sure you're looking under HKEY_CURRENT_USER for this one.
    • If all else fails, FixTimestamps.exe appears to accept an empty file as a "do nothing" command. You can go to the PlanetSide 2 folder under your Steam install (usually "C:\Program Files (x86)\Steam\steamapps\common\PlanetSide 2") and create two empty text files. Name one "fix_play.soe" and the other "fix_common.soe" (without the quotes, of course), and then run PlanetSide 2 from Steam. FixTimestamps.exe will happily delete the files and exit successfully, which should get rid of this problem cleanly and for good.
  11. Octiceps

    Yes, HKEY_CURRENT_USER is what I wrote in my posts.