Sketchup registry key ?
-
@fizgig said:
Does anyone have any tips for making a ruby script installer for windows? I need to be able to *copy a directory to the c:* and then copy a loader script into the plugins folder.
Fiz, 99% of users HATE (and don't want,) software installed in the root directory of our boot drives!
Plugins should be usually be installed in a subfolder of Plugins. (If it's a stanalone plugin that adds some functionality to Sketchup, such as a tool or report generator.)
IF it's an 'behind the scenes' enhancement used by MANY plugins, (which would not appear on a menu,) it might go in a subfolder of another Sketchup folder such as Tools (in order to prevent menu building scripts from putting it on a menu.) BUT in this case, you should ask the user to confirm or specify a different folder (as some users also HATE non-Google scripts down in the Tools folder heirarchy.)
-
Ditto that - don't want things installed in my
root.
-
@unknownuser said:
I want to build a dmg installer and want to figure out what versions of SU are installed on a system.
Will checking whether a folder "/Library/Application Support/Google SketchUp 6 (or 7)/SketchUp" exists be enough?
-
I don't tihnk so. I think they can change their installation path.
There is a registry type setting that gets put in place for them that keeps track of where they installed their SU. You mgiht need to get Google involved since no one else seems to have this info off the top of their head. Butyou should just be able to check their plist or registry or whatever it is called for the SU directories, and install into whichever you want.
Chris
-
@unknownuser said:
Does anyone know how recognize which SU version is installed on MAC?
I want to find out a folder where install a plugin to.The version is obtained using:
Sketchup.version
Gets the current version of Sketchup in decimal form.
Returns:
the decimal form of the version
OR
Sketchup.version_number
Get the current version of Sketchup as a whole number for comparisons.The Plugins path is obtained using:
Sketchup.find_support_file
Thefind_support_files
method is used to retrieve the relative path and name of a file within the SketchUp installation directory.
Forward slashes must be used to delimit between directory names.
Arguments:
filename
Name of the filename you want to find.
directory
(optional) directory relative to the SketchUp installation directory.
Returns:
path
Example:
the entire path if successful. If unsuccessful, the method returns false.
help_file=Sketchup.find_support_file("help.html","Plugins/")
OR
Sketchup.find_support_files
Thefind_support_files
method is used to retrieve the relative path and name of all matching files within the SketchUp installation directory.
Forward slashes must be used to delimit between directory names.
Arguments:
filename
Name of the filename you want to find.
directory
(optional) directory relative to the SketchUp installation directory.
Returns:
array
an array of files. If unsuccessful, the method returns false.
Example
array=Sketchup.find_support_files("filename","directory")
What's making this so complicated ???
-
Its for an installer, not a ruby script I think.
-
Aaahhh...
-
I used WiX (http://wix.sourceforge.net) to create an MSI installer for Sketchup. It can detect the registry setting HKLM\Software\Google\Google Sketchup 7\InstallLocation and install the plugin in the plugins sub-folder.
WiX is a pain in the arse to learn and use, but it's the only open source installer that creates MSIs that I could find.
-
What is a MSI, how it it different/better than what is made by Inno for example?
Installing Ruby scripts in most cases is simply a matter of copying files to the correct location, and possibly registering an uninstaller. It has always been hard for me to justify creating a half-meg installer (or more) for a plug-in that is a few Kb. (Although a meg is not as big as it used to be.)
Does there exist some sort of .zip installer?
-
I have already created Win installer using NSIS. It reads SU installation locations from the registry. It has small overhead over compressed data size (34 KB with default options).
Thanks TIG for such a comprehensive explanation, but I need it for an installer.
I want to let a MAC user chose for which already installed SU version have my plugin added.
-
@jim said:
What is a MSI, how it it different/better than what is made by Inno for example?
An 'MSI' is a nickname used for Microsoft Installer packages, the acronym for THE Microsoft Installer (aka the Windows Installer,) and also the file extension of the MS Installer database that is created with the MSI. These databases you will have seen with numbered filenames, are placed in the %SystemRoot%\Installer (hidden) folder.
The MSI can also create .MSP files, which are Windows Installer Patch files.Different: I downloaded the MSI SDK a few years ago, and started to learn it, but after a half hour, I gave up. It is extrememly complex (or perhaps it's Microsoft's way of confusing documentation and terminology.) It does not have package wizards like Inno. You have to use setup style scripts, and multiple tools (it's a multistep process.)
I looked at some of the install package applications out there such as the Wise Installer and InstallShield, but the price was in outerspace! (like thousands of dollars.)
I intend, if I have a complex package, to use Inno.
I downloaded a SketchupInstaller.iss template for Inno, that looks so simple, I just am itchin' to try it out.Yes, the Nullsoft NSIS is an alternative.
-
@jim said:
Does there exist some sort of .zip installer?
As I recall, WinZip could create self-extracing archives (.exe extension,) with a 'suggested destination folder'. When run, a confirm dialog popus up, allowing the user to override with a browse button, or simply edit the destination path in the edit control box.
Still in use today, but I believe is a pay WinZip Pro version that only will do this.Cabinet files (.CAB) are free and native to Windows, I believe at least the extract exe is installed on all Win32 machines; the cab maker (filename slips my mind,) is in the SupportTools package. BTW, MSIs use cab by default I believe.
Advertisement