Educational Software Thread, Installing Scratch on x64 machine in Technical; I am in the process of testing SCCM for deploying software and have run into a problem with Scratch (the ...
I am in the process of testing SCCM for deploying software and have run into a problem with Scratch (the interactive programming app). On a x64 machine the install wants to install the app to C:\Program Files (x86)\Scratch which is fine, but the shortcuts point to C:\Program Files\Scratch and ovbiously don't work.
This isn't specific to SCCM and does exactly the same if you just run the MSI or I would assume if deployed using Group Policy.
As there is no x64 MSI for Scratch does anybody have any suggesions to how to get the shortcuts pointing to the correct location when deployed across 1000 machines?
I've opened the MSI up in Orca to see if something can be changed but I can't find anything that looks like it would work.
If you dump the files onto a network share, Scratch will run quite happily from there.
The other option is to use a junction point (say c:\progs). On x86 installs create the junction pointing to "c:\program files" and on x64 installs point the junction to "c:\program files (x86)".
As Ric says really. We use a local folder C:\Environment which contains the Start Menu and Desktop icons we want to use. Redirection is used to force these locations to be used for users, and periodically we can push updates to the folders for new installs etc.
The problem here is that the MSI has been created by someone who doesn't really know what they are doing with Windows Installer. They've created the shortcuts manually on their build machine and authored them into the MSI as files, instead of using the proper shortcut creation functions.
Here's a couple of MSTs that fix it. One mirrors the existing functionality, while the other leaves out the shortcut to the Scratch website if you don't want that.
Like AngryTechnician, I also created an MST which fixes all of the issues with the original poorly authored MSI. It now validates perfectly in InstEd & Orca.
In addition to that, the Scratch.ini file has been added to the INIFile table which should make it easier in the future to make changes to it using my MST and the .sb/.sprite file associations now use the ProgId & Verb tables instead of the registry.
AT. There's a very small issue with your MST. The Scratch.lnk is still referenced in the Component table.
My intention was to change as little as possible so that it would (hopefully) work with later versions without modification, so all I did was take Scratch.lnk out of the FeatureComponents so it wouldn't install.
Good point, although it is extremely easy to revert parts of the MST back to how they were in the base MSI should things change in later versions (in InstEd you right-click a table and click "Revert To Base").
The INI file was added to allow easy modification of the Scratch.ini file prior to installation. e.g to change the default home folder, visible drives and proxy server settings which I know a lot of schools do.
The other reason I changed so much is that I hate seeing ICE errors/warnings in MSIs.
I've no idea what your talking about with orca and msts but could I suggest that you have a friendly word with the Scratch team at MIT with your corrections/improvements to the msi as it would be better to get them sorted out at the source than re-correcting each time.
Do you think it would be worth contacting them re: the MSI, especially considering Scratch v2.0 is being rewritten in Flash and will most likely use Adobe Air for the offline version?
Do you think it would be worth contacting them re: the MSI, especially considering Scratch v2.0 is being rewritten in Flash and will most likely use Adobe Air for the offline version?
It is from the open-ness (and ability to modify it) but its probably being done to make it a write-once-work-anywhere type of project whereas the current setup of using Squeak to write Scratch in and a java viewer to run online or wrapping the project into Windows only .exe with an external prog stops Scratch from reaching a wider audience.
We'll still have the old version and plenty of people know how to mod it so nothing will be lost