Simple Addon Installer

From World Wind Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 14:43, 30 July 2005 (edit)
85.250.206.81 (Talk)
(no need to use FileWriteByte)
← Previous diff
Revision as of 14:44, 29 March 2011 (edit) (undo)
2.94.77.130 (Talk)

Next diff →
Line 34: Line 34:
Worldwind_1.3_NAME_0.1.exe Worldwind_1.3_NAME_0.1.exe
-It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :)+It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :)[http://www.shop.videoradio.ru][http://www.videoradio.ru]
I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done. I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done.

Revision as of 14:44, 29 March 2011

I promised a few people this, so here goes.

  • Any place where you see NAME, replace with your add-ons name.
  • Download NSIS and install.
  • Create a directory to work in such as "NAME"
  • Inside this directory create another directory named "Install"
  • Create your .nsi script. Open up notepad (or another favorite text editor) and paste the following:
Name "NAME"
OutFile "NAME.exe"
InstallDir "$PROGRAMFILES\NASA\World Wind v1.3"
InstallDirRegKey HKCU "Software\NASA\World Wind" ""

Section "Main Install"
  SetOutPath $INSTDIR
  File /r "Install\*.*"
SectionEnd

Page directory
Page instfiles

Save as NAME.nsi

  • Inside the "Install" directory is where you put your files. Commonly for WW this would be a "Configuration" directory, subdirectory and files, and also a "Data" directory et all. Do not put the "NASA" Directory or "Worldwind v1.3" directory in there. You want only directories and files inside of those. Hopefully this makes sense.
  • Right click on NAME.nsi and choose "Compile NSIS Script" You may also choose the compresser to use. LZMA is the best but most of the add-ons are small so this is trivial.

You should be done! A few notes:

It is pointless to zip up an exe installer, it doesn't save much room (may actually cost some).

So far the best naming convention I've seen has been.

Worldwind_1.3_NAME_0.1.exe

It would be nice if Add-on developers stuck to the same convention especially putting in WW's version number in there. Of course adjust accordingly :)[1][2]

I hope it's helpfull, please feel free to comment. Special thanks for Nowak for designing the original quick and easy nsi script, and showing me how it's done.

Installing an add-on that appends to an XML config file

(Sample NSI script by Matt Mills.)

; The name of the installer
Name "Colored SRTM Elevation"

; The file to write
OutFile "vissrtm.exe"

; The default installation directory

;Name "NAME"
;OutFile "NAME.exe"
;InstallDir "$PROGRAMFILES\NASA\World Wind v1.3"
;InstallDirRegKey HKCU "Software\NASA\World Wind" ""

InstallDir "$PROGRAMFILES\NASA\World Wind 1.3\"


;--------------------------------

; Pages

Page directory
Page instfiles

;--------------------------------




; The stuff to install
Section "" ;No components page, name is not important

SetOutPath "$INSTDIR\Data\Icons\Interface\"
File vissrtm.png

CopyFiles /silent $INSTDIR\Config\Earth\Images.xml $INSTDIR\Images.vissrtm.bak.xml


ClearErrors
FileOpen $0 $INSTDIR\Config\Earth\Images.xml a
IfErrors done
FileSeek $0 -31 END


FileWrite $0 '		<QuadTileSet ShowAtStartup="false">$\r$\n'
FileWrite $0 "			<Name>Colored SRTM Elevation</Name>$\r$\n"
FileWrite $0 "			<DistanceAboveSurface>10</DistanceAboveSurface>$\r$\n"
FileWrite $0 "			<BoundingBox>$\r$\n"
FileWrite $0 "				<North>$\r$\n"
FileWrite $0 "					<Value>90.0</Value> $\r$\n"
FileWrite $0 "				</North>$\r$\n"
FileWrite $0 "				<South>$\r$\n"
FileWrite $0 "					<Value>-90.0</Value> $\r$\n"
FileWrite $0 "				</South>$\r$\n"
FileWrite $0 "				<West>$\r$\n"
FileWrite $0 "					<Value>-180.0</Value> $\r$\n"
FileWrite $0 "				</West>$\r$\n"
FileWrite $0 "				<East>$\r$\n"
FileWrite $0 "					<Value>180.0</Value> $\r$\n"
FileWrite $0 "				</East>$\r$\n"
FileWrite $0 "			</BoundingBox>$\r$\n"
FileWrite $0 "			<TerrainMapped>true</TerrainMapped>$\r$\n"
FileWrite $0 "			<ImageAccessor>$\r$\n"
FileWrite $0 "				<LevelZeroTileSizeDegrees>20</LevelZeroTileSizeDegrees>$\r$\n"
FileWrite $0 "				<NumberLevels>8</NumberLevels>$\r$\n"
FileWrite $0 "				<TextureSizePixels>150</TextureSizePixels>$\r$\n"
FileWrite $0 "				<ImageFileExtension>jpg</ImageFileExtension>$\r$\n"
FileWrite $0 "				<ImageTileService>$\r$\n"
FileWrite $0 "					<ServerUrl>http://www.worldwinddata.com/redir.php</ServerUrl>$\r$\n"
FileWrite $0 "					<DataSetName>vissrtm</DataSetName>$\r$\n"
FileWrite $0 "					<ServerLogoFilePath>Data\Icons\Interface\vissrtm.png</ServerLogoFilePath>$\r$\n"
FileWrite $0 "				</ImageTileService>$\r$\n"
FileWrite $0 "			</ImageAccessor>$\r$\n"
FileWrite $0 "			<ExtendedInformation>$\r$\n"
FileWrite $0 "				<ToolBarImage>Data\Icons\Interface\vissrtm.png</ToolBarImage>$\r$\n"
FileWrite $0 "			</ExtendedInformation>$\r$\n"
FileWrite $0 "		</QuadTileSet>$\r$\n"
FileWrite $0 "	</ChildLayerSet>$\r$\n"
FileWrite $0 "</LayerSet>$\r$\n"

FileClose $0
done:

  
SectionEnd ; end the section
Personal tools