RizzoCuoco: Well......cyou could use...dare I say ...the offline installers.
Yes, it was an offline installer that I said, what I want is to be able to change the installation location of the offline .exe which is Disk C to D.
kenrap: Your question is worded a little confusingly, but can't you just extract the contents of your zip file by using the zip tool's file chooser dialog to point to the D: drive?
Normally gog's offline installers do not allow the user to change the directory, as the game installs directly, I wish we could at least use REGedit to change this.
Dawnsinger: Yes, I did. :)
I believe it should work without any temp files at all. The installer obviously knows where each file is supposed to go, so it knows the cumulative size per destination folder and therefore can check for sufficient space beforehand (if it bothers at all), and unpack the files one by one directly to the target location. Only things that aren't part of the finished install should go to tzhe tmp folder, like maybe a script to register files or generate an install log, if these can't be part of the running installer "for reasons".
But possibly I expect too much of these things, just like I expect that key rebinds and framerate limiters and resolution settings are standard and "just work" because they're so elementary and have been around for so long. Obviously, I keep gettig unpleasantly surprised. :)
Edit: Dark_art_
According to this thread:
https://stackoverflow.com/questions/2002247/can-one-use-environment-variables-in-inno-setup-scripts the .iss scripts
could, but I don't know if they actually
do, and if so, if they do it
correctly (if they use the compile-time version, it'll obviously break, anyway).
So, could you change the location of the offline installer from Disk C where the system normally resides to D or one exclusively for games?