{"id":164,"date":"2011-02-24T20:51:42","date_gmt":"2011-02-25T01:51:42","guid":{"rendered":"synetech.ddns.net\/blogs\/smarticles\/?p=164"},"modified":"2011-05-20T17:19:36","modified_gmt":"2011-05-20T22:19:36","slug":"id-games-on-windows-vista7","status":"publish","type":"post","link":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/2011\/02\/24\/id-games-on-windows-vista7\/","title":{"rendered":"<strong>id<\/strong> Games on Windows Vista\/7"},"content":{"rendered":"<p>Some of the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Id_Tech_3\" target=\"_blank\" title=\"Wikipedia article on id Tech 3\">id Tech 3<\/a> (aka Quake 3)-engine based games won\u2019t run correctly on Windows Vista, 7, etc. due to the <a href=\"http:\/\/en.wikipedia.org\/wiki\/User_Account_Control\" target=\"_blank\" title=\"Wikipedia article on Windows UAC\"><acronym title=\"User Account Controls\">UAC<\/acronym><\/a>. Some people suggest turning UAC off or running the game as an administrator, but that is ill advised; turning off security or running it in a higher privilege to play a game is foolhardy at best, especially when a better, more secure solution is readily available.<\/p>\n<p>The problem is that when these id Tech 3-engine games start up, they try to extract a DLL from one of the PK* files into the program directory. Since the <code>Program Files<\/code> directory is protected, and especially since the file being dropped into it is a DLL which as a security threat is second only to EXE files, and finally because it\u2019s being put in the folder by a non-privileged program\u2014the game itself\u2014as opposed to a privileged program like the original setup program that installed the game in the first place. This all leads the system to blocking the extraction, which causes the game to terminate with an error that includes the following snippet.<\/p>\n<blockquote><p>\nfound DLL in pak file: <span style=\"color:red\">C:\\Program Files\\Prey\\base\\game03.pk4<\/span>\/gamex86.dll<br \/>\ncopy <span style=\"color:red\">gamex86.dll<\/span> to <span style=\"color:red\">C:\\Program Files\\Prey\\base<\/span>\\gamex86.dll<br \/>\ncould not create destination file<br \/>\n********************<br \/>\nERROR: DLL extraction to fs_savepath failed\n<\/p><\/blockquote>\n<p>(Windows Vista\/7 already have a system in place for this sort of thing and it <em>usually<\/em> works for games (eg for games that store screenshots or save games in the <code>Program Files<\/code> directory); such files are put in the <code>VirtualStore<\/code> directory in the user\u2019s profile instead of in the actual <code>Windows<\/code> or <code>Program Files<\/code> directories, but for some reason it does not seem to work for these older id games.)<\/p>\n<p>Instead of resorting to turning UAC off or running it with administrator privileges, a much more ideal solution is simply to manually extract the DLL file in question and place it into the program folder. Open the PK* file mentioned in the error (in the above example it is <code>game03.pk4<\/code>) with a ZIP compatible program (<a href=\"http:\/\/www.7-zip.org\/\" target=\"_blank\" title=\"7-Zip Homepage\">7-Zip<\/a> is great). Then simply extract the file <code>gamex86.dll<\/code> into the game\u2019s <code>base<\/code> folder (or other, possibly different folder as specified in the error).<\/p>\n<p>Note: You probably won\u2019t be able to simply extract the file directly to the program folder because of the permissions\/UAC, you\u2019ll likely need to either run the archiver as administrator or just take an intermediary step by extracting it to somewhere else like the desktop, then moving the file to the program folder (and saying <em>yes\/OK<\/em> to the UAC prompt).<\/p>\n<p>Done. Now launch the game, see how it runs as expected without requiring a security feature to be turned off or running it as administrator, and enjoy!<\/p>\n<div class=\"tagcloud\"><a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/compatibility\/\" rel=\"tag\">Compatibility<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/computer-games\/\" rel=\"tag\">Computer Games<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/computers\/\" rel=\"tag\">Computers<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/games\/\" rel=\"tag\">Games<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/operating-systems\/\" rel=\"tag\">Operating Systems<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/troubleshooting\/\" rel=\"tag\">Troubleshooting<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/video-games\/\" rel=\"tag\">Video Games<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/windows\/\" rel=\"tag\">Windows<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/windows-7\/\" rel=\"tag\">Windows 7<\/a>, <a href=\"https:\/\/synetech.ddns.net\/blogs\/smarticles\/tag\/windows-vista\/\" rel=\"tag\">Windows Vista<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Some of the id Tech 3 (aka Quake 3)-engine based games won\u2019t run correctly on Windows Vista, 7, etc. due to the UAC. Some people suggest turning UAC off or running the game as an administrator, but that is ill advised; turning off security or running it in a higher privilege to play a game [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[12,19,14,11,9,13,18,10,23,22],"class_list":["post-164","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-compatibility","tag-computer-games","tag-computers","tag-games","tag-operating-systems","tag-troubleshooting","tag-video-games","tag-windows","tag-windows-7","tag-windows-vista"],"_links":{"self":[{"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/posts\/164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/comments?post=164"}],"version-history":[{"count":0,"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/posts\/164\/revisions"}],"wp:attachment":[{"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/media?parent=164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/categories?post=164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/synetech.ddns.net\/blogs\/smarticles\/wp-json\/wp\/v2\/tags?post=164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}