Permalink
Browse files

- Updated some of the special-cased silent switches

- Updated applist.xml to newest versions, added Picasa and Quicktime (thanks 
Mike Quinn for the suggestions)
  • Loading branch information...
1 parent e65e2ed commit 5db7b9836eccdc71a6df706d9d6b09b0002a19e7 @philc committed Oct 24, 2006
Showing with 65 additions and 27 deletions.
  1. +1 −0 Changelog.txt
  2. +20 −4 data/applists/applist.xml
  3. +14 −4 data/applists/opensource.xml
  4. +13 −14 src/ApplicationItem.cs
  5. +17 −5 src/ApplicationListItem.Installation.cs
View
@@ -1,6 +1,7 @@
0.4
+- Updated applist.xml to newest versions, added Picasa and Quicktime (thanks Mike Quinn for the suggestions)
- Launch only one installer at a time, so they don't step on each other
- Prevent user from removing items from the list that are downloading or installing.
- Massive refactoring of the application item UI. Not scary anymore =)
View
@@ -10,11 +10,11 @@
</Application>
<Application>
<Name>Azureus</Name>
- <FileUrl>http://easynews.dl.sourceforge.net/sourceforge/azureus/Azureus_2.4.0.2_Win32.setup.exe</FileUrl>
+ <FileUrl>http://easynews.dl.sourceforge.net/sourceforge/azureus/Azureus_2.5.0.0_Win32.setup.exe</FileUrl>
</Application>
<Application>
<Name>FireFox</Name>
- <FileUrl>http://download.mozilla.org/?product=firefox-1.5.0.5&amp;os=win&amp;lang=en-US</FileUrl>
+ <FileUrl>http://download.mozilla.org/?product=firefox-1.5.0.7&amp;os=win&amp;lang=en-US</FileUrl>
<Options>
<DownloadLatestVersion />
</Options>
@@ -33,10 +33,26 @@
<Application>
<Name>ICQ</Name>
<FileUrl>http://ftp.icq.com/pub/ICQ_Win95_98_NT4/ICQ_5/icq5_1_setup.exe</FileUrl>
+ <Options>
+ <Checked>false</Checked>
+ </Options>
+ </Application>
+ <Application>
+ <Name>iTunes 7</Name>
+ <FileUrl>http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes7/Win/061-2768.20060926.tnwN1/iTunesSetup.exe</FileUrl>
</Application>
<Application>
- <Name>iTunes</Name>
- <FileUrl>http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iTunes6/Win/061-2454.20060511.tzsawd/iTunesSetup.exe</FileUrl>
+ <Name>QuickTime 7</Name>
+ <FileUrl>http://appldnld.apple.com.edgesuite.net/qtinstall.info.apple.com/mcgonagail/us/win/QuickTimeInstaller.exe</FileUrl>
+ </Application>
+ <Application>
+ <Name>Picasa</Name>
+ <FileUrl>
+ http://dl.google.com/picasa/picasaweb-current-setup.exe
+ </FileUrl>
+ <Options>
+ <Checked>false</Checked>
+ </Options>
</Application>
<Application>
<Name>SpyBot</Name>
@@ -42,12 +42,22 @@
<DownloadLatestVersion/>
</Options>
</Application>
-
+ <Application>
+ <Name>Tortoise SVN</Name>
+ <FileUrl>
+ http://superb-east.dl.sourceforge.net/sourceforge/tortoisesvn/TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msi
+ </FileUrl>
+ </Application>
<Application>
<Name>WinSCP</Name>
<FileUrl>http://easynews.dl.sourceforge.net/sourceforge/winscp/winscp381setup.exe</FileUrl>
</Application>
-
-
-
+ <Application>
+ <Name>XviD</Name>
+ <FileUrl>http://www.koepi.org/XviD-1.1.0-30122005.exe</FileUrl>
+ <Comment>A video codec</Comment>
+ <Options>
+ <InstallerArguments>/verysilent</InstallerArguments>
+ </Options>
+ </Application>
</ApplicationList>
View
@@ -101,9 +101,8 @@ public List<string> CreateOrderedUrlList()
public string DownloadUrl
{
- get {
-
- return downloadUrl;
+ get {
+ return downloadUrl.Trim();
}
set {
downloadUrl = value;
@@ -144,9 +143,9 @@ private void ParseDownloadUrl()
List<int> intsEncountered = new List<int>();
List<int> indexOfInt = new List<int>();
- for (int i = downloadUrl.Length - 1; i > 0; i--)
+ for (int i = DownloadUrl.Length - 1; i > 0; i--)
{
- if (!IsNumber(downloadUrl[i]))
+ if (!IsNumber(DownloadUrl[i]))
continue;
// Found a number. Search to the left until we find the end of the int.
@@ -165,7 +164,7 @@ private void ParseDownloadUrl()
// After finding the int, if our next character isn't a delimeter we should
// exit if we have two version numbers; otherwise, keep searching through the string.
- if (!IsDelimeterCharacter(downloadUrl[i]))
+ if (!IsDelimeterCharacter(DownloadUrl[i]))
{
if (intsEncountered.Count >= 2)
break;
@@ -177,7 +176,7 @@ private void ParseDownloadUrl()
}
}
this.originalVersion = intsEncountered;
- this.parsedDownloadUrl = this.downloadUrl;
+ this.parsedDownloadUrl = this.DownloadUrl;
// Replace all the integers we found with {0}, {1}, ... so the version string looks like firefox-{0}.{1}.exe
// Go backwards so that when we start replacing characters with {0} etc., the stored indices don't get all jacked up.
@@ -191,10 +190,10 @@ private void ParseDownloadUrl()
private string SearchLeftForInt(int index)
{
string s = "";
- while (index>=0 && IsNumber(downloadUrl[index]))
+ while (index>=0 && IsNumber(DownloadUrl[index]))
{
// if the number is
- s=s.Insert(0, downloadUrl[index].ToString());
+ s=s.Insert(0, DownloadUrl[index].ToString());
index--;
}
return s;
@@ -208,12 +207,12 @@ private void ParseDownloadUrl2()
// Search from right to left find integers separated by periods.
// We interpret this pattern as being the version.
- for (int i = downloadUrl.Length - 1; i > 0; i--)
+ for (int i = DownloadUrl.Length - 1; i > 0; i--)
{
// If we have a delimeter, search for an int after it
- if (IsDelimeterCharacter(downloadUrl[i]))
+ if (IsDelimeterCharacter(DownloadUrl[i]))
{
- int n = FindInteger(downloadUrl, i - 1);
+ int n = FindInteger(DownloadUrl, i - 1);
if (n > -1)
{
//store in reverse order that we found them
@@ -245,7 +244,7 @@ private void ParseDownloadUrl2()
break;
}
- this.parsedDownloadUrl = this.downloadUrl;
+ this.parsedDownloadUrl = this.DownloadUrl;
// Replace all the integers we found with {0} etc.
// Go backwards so that when we start replacing characters with {0} etc., the stored indices don't get all jacked up.
@@ -379,7 +378,7 @@ public static ApplicationItemOptions FromXml(XmlReader reader, List<string> err
}
else if (reader.Name == "PostInstallScript")
{
- options.PostInstallScript = reader.ReadString();
+ options.PostInstallScript = reader.ReadString().Trim();
reader.ReadEndElement();
}
else if (reader.Name == "InstallationRoot")
@@ -80,9 +80,10 @@ private void RunPostInstallationScript()
return;
try
{
- ProcessStartInfo info = new ProcessStartInfo();
- info.FileName = application.Options.PostInstallScript;
- Process p = Process.Start(info);
+ //ProcessStartInfo info = new ProcessStartInfo();
+ //info.FileName = application.Options.PostInstallScript;
+ //Process p = Process.Start(info);
+ Process.Start(application.Options.PostInstallScript);
}
catch (Exception e)
{
@@ -188,12 +189,23 @@ private static string ArgumentsForSilentInstall(ApplicationItem application)
// Each rule should be on its own line; first, a regex to match the application name, and next to it,
// the installer arguments that pertain to that app
- if (application.FileName.ToLower().Contains("firefox"))
+ if (application.FileName.ToLower().EndsWith(".msi"))
+ {
+ return "/qn";
+ }else if (application.FileName.ToLower().Contains("firefox"))
return "-ms";
else if (application.FileName.ToLower().Contains("itunessetup"))
{
// Args are: /s /v"SILENT_INSTALL=1 ALLUSERS=1 /qb"
- return "/s /v\"SILENT_INSTALL=1 ALLUSERS=1 /qb\"";
+ //return "/s /v\"SILENT_INSTALL=1 ALLUSERS=1 /qb\"";
+
+ // Above is for the older iTunes. Newer itunes is just an exe that extracts to an msi.
+ return "/qn";
+ }
+ else if (application.FileName.ToLower().Contains("quicktimeinstaller"))
+ {
+ // QuickTime is just an MSI, like iTunes
+ return "/qn";
}
else if (application.FileName.ToLower().Contains("spybot"))
{

0 comments on commit 5db7b98

Please sign in to comment.