A very BIG thank you to Don Daniels for writing up his solution here so that others on the same quest can benefit from his experience!
Originally from ticket #17633.
I have a custom built desktop with a 128G SSD for the boot drive, and a RAID array for my storage. When I first installed my Starry Night Pro Plus 6 I thought I had lots of room to put the Starry Night database on the SSD for rapid access, but over time a lot of programs insist on storing their data on the boot drive, and I am filling up.
I would like to move the Starry Night Database to the Data drive to free up space on the boot drive. Is there an easy way to do that, or should I just uninstall (via the control panel I guess, since I don't see an uninstall option with your installation), and then re-install selecting a different drive for the data files?
Also, your license agreement used to allow installation on one desktop AND one associated laptop, but your current agreement does not seem to allow that. Am I reading it correctly.
OK, I finally figured it out. It could be better explained. I finally found another post that helped,
and in fact the final key was way down in the comments.
October 20, 2011 at 4:06 am
This worked like a CHARM! Thanks SO much for posting it! Saved me at least 4GB on my SSD…
Just to clarify to those who might not realize:
The file you wish to point to on your other drive (D:, E:, F:, etc.) MUST NOT EXIST yet on the C: drive before you create it through mklink.
For example, if you wish to point from
“C:\Program Files (x86)\Adobe\Adobe Premiere Elements 9\Movie Themes”
“D:\Adobe\Adobe Premiere Elements 9\Movie Themes”
then you need to DELETE the “Movie Themes” folder on the C: drive first before mklink can create a Junction there for it.
A simple concept, I know, but if one doesn’t completely grasp what mklink is actually doing, then it’s an easy concept to miss…
So, while I had tried renaming the folder I had copied to the D: Drive so that it could make a connection there, I had in fact got it backwards. What finally worked was to rename (until I was sure this would work) Sky Data to Sky Data1 on the C: drive. Then I ran the command:
mklink /J "C:\Program Files (x86)\Starry Night Pro Plus 6\Sky Data" "D:\Sky Data"
Two things seemed to be key:
1: The quote marks were crucial with the long directory path, though the use of quotations were not mentioned on either the Microsoft tech site or the Sevenforums site..
2: The directory in the program is actually looking for, in this case
C:\Program Files (x86)\Starry Night Pro Plus 6\Sky Data
can NOT exist when you try to make the link. It has to have that name free to be able to create the link with the name that the program is looking for.
I suggest you rename the source folder after copying it to another drive, then make the link, then when you are sure it works, you can delete the renamed source folder.
In my case, when I finally got the link to the moved data folder on the D: drive I was able to clear 11 gig on my full SSD. Thanks for the start to this solution, It took a little more research, but hopefully with this info you can experiment and put all of this into a simple concise help file to put on your Q&A or somewhere so that others can accomplish this move with several simple steps and a cut and paste.
Also, when doing this, remember that it is important to make the command line window with Administrator rights. The easiest way is to open the start window, go to All Programs / Accessories / Command Prompt, and instead of left clicking on "Command Prompt", you right click on it, and select "Run as Administrator".
Hope this helps make it possible for you to create "simple" concise instructions for others to do this in the future.
Thanks so much, Don! And, yes, we will make a concise version of these instructions too. But, we love you're success story here. Thanks for sharing!
OK, I guess I can summarize the steps here for everyone:
Note: These instructions are for Windows 7, but should be similar in Windows 8, and from the forums it looks like Vista also works the same way. The forums state that XP does not have this feature.
(IMHO: Anyone still running XP should install something like Ubuntu Linux as either a replacement or a dual boot. It is free and much faster and more secure than XP. With a dual boot you can still run XP for the few things that actually need it, and the faster more secure Linux for everything else. You will get a renewed lease on life for the old machine)
OK, By the numbers:
1. Find the Sky Data folder, most likely in Program Files (x86) on the C: drive. You can search on Sky Data and open containing directory if you prefer.
2. Copy that directory and paste it to where you want to store the data, most likely the D: or data drive. I just put it at the root level on that drive to keep the path simple.
3: Go back to the source directory, where the file was originally, and rename Sky Data to something slightly different, like Sky Data 1
4. Open the "Command Prompt" in Windows. When doing this, remember that it is important to open the Command Prompt window with Administrator rights. The easiest way is to open the start window, go to All Programs / Accessories / Command Prompt, and instead of left clicking on "Command Prompt", you right click on it, and select "Run as Administrator". You should see C:\Windows\System32> if you get it right.
5.Copy this command line:
mklink /J "C:\Program Files (x86)\Starry Night Pro Plus 6\Sky Data" "D:\Sky Data"
and modify it in an editor if you used different directory paths. The quote marks were crucial with the long directory path, though the use of quotations were not mentioned on either the Microsoft tech site or the Sevenforums site. It appears the command gets confused by all the spaces in the directory names otherwise. Paste the corrected version of this command line into the Command Line and hit enter. It will give you a message if it worked. See my attachment for several error messages, and then the successful command line at the bottom after I renamed the source directory..
6. Test Starry Night, and make sure all works well. You might also want to put a copy of the data file on an external drive Just In Case.
7. When all is well, delete the renamed Sky Data folder on your C: drive or where ever your original location was.
8. Test Starry Night again, make sure it runs properly.
In my case, when I finally got the link to the moved data folder on the D: drive working I was able to clear 11 gig on my nearly full SSD boot drive.
I am suspecting you could do the same thing moving the entire C:\Program Files (x86)\Starry Night Pro Plus 6 directory instead of just the data file, but my folder on the C: drive is now only 21.4 MB, almost everything was in the Sky Data directory. However, in theory it should work either way, creating a junction for the master program directory or just for the Sky Data Directory. I'm NOT going to go back and test this however. It is working fine the way it is.
Enjoy the extra 11 Gig on your boot drive.
A tremendous contribution Don! Thanks so much for your efforts and explanation!
Btw, there's a little utility called Directory Linker that I use all the time at work(ex-linux person having to work in a windows shop :( ) which does precisely the same thing but gives you a GUI. You still need to do the same basic steps but this lets you avoid command line fussing. If you're intimidated by potential typos you might want to use this instead of steps 4 and 5 above. Just read the fields in the GUI carefully and don't get them backwards - you want to create a link that points to the actual location!
I am a beneficiary of this discussion as I have tried it on a small PC Stick and it has worked - saving me about 3 GB of drive space. The only thing that I want to add is that at least in Windows 10, the Symbolic Link feature in which mklink is a family member is available only to system administrators. So if you want to execute the mklink /j command you must start a command prompt as an administrator. I usually click on the windows icon and then type cmd and rather than clicking on the command that opens up, I rightclick and choose "run as administrator". It took me a while to figure this one. Once you are there, the syntax is as described by the originators of this discussion: mklink /j "original folder location" "new folder location". The quotation marks are necessary as has been said before too. The command j creates a "junction" between the old location and new location - it is almost like running an extension cable from there to a new place. If you have forgotten to first rename or delete the original folder, the command will come back and tell you that it can't do its job until you do that. It is very simple and straightforward.
I am using this command on a lot of things now. One opportunity, for example, is to centralize the "Locations" data. While this is a small file, because I use a number of computers, by centralizing it I can easily copy it on the same location on all computers and they all will have the same locations in them. I will write about this separately though.
Thanks again for sharing this information. It has been very useful.