Jump to content
Ketarin forum

shawn

Moderators
  • Posts

    1,181
  • Joined

  • Last visited

Everything posted by shawn

  1. You can use two jobs.db files, or you can use two separate xml files. If you need to prompt for the install list, then you probably ought to use a second jobs.db, so user interaction is allowed. Something else - the source for Ketarin is available, so if you have the time and inclination you can develop additional features such as an installation queue or specific command line options. These would be of great benefit to everyone else, too.
  2. No, sorry. If you find a way, it would be great if you could share that here.
  3. If you place the jobs.db file in the same folder as ketarin.exe, it's truly portable. It does NOT rely on any paths to function. If you use relative paths (".\...") for your save to location, then the entire folder Ketarin resides in can be copied between devices, drives and operating systems without issue. This is how I personally use it, along with a batch file I use to clone the Ketarin folder to a USB stick. As far the install behavior, you CAN get it to install specific applications from the command line, but you have to export the app profiles you want to install to XML first. I haven't personally done this or ever needed to, but it doesn't look that difficult. To generate the XML for only a select few applications you'd open Ketarin, CTRL+click to select multiple entries, then CTRL+C to copy their data as XML. Paste that into Notepad++ (or equivalent), save it to the ketarin folder, copy the Ketarin folder & downloads to your USB stick and then use the following syntax to 'install' them on a different PC: ketarin.exe /install=myInstallationStuff.xml /exit Below you'll find the batch file I use to clone my Ketarin folder to a USB stick (easily modified to push to a network location), "Push2GS.bat": @ECHO Off SET TARGET=%1 IF "%TARGET%"=="" SET TARGET=G:\Support REM IF "%TARGET%"=="" SET TARGET=W:\USB-Key\Support REM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ECHO Obtaining new and updated files robocopy "." "%TARGET%" /MIR /BYTES /ETA SET TARGET= This allows you to clone the Ketarin folder to "G:\Support\" by default, ERASING anything that isn't already in the source folder. You can change the target either directly within the source (for all future iterations) or by passing a different destination on the command line (push2gs "Q:\ketarin"). There are two good reasons (one is also a caveat) to using this method. 1) it only has to copy new or changed files. robocopy kicks a$$ for this kind of thing, and is very very powerful in this selection mechanism. Nifty stuff. 2) it ensures that the destination is an EXACT copy of the source (mirror = /mir). This is GREAT if you're using your download source as the source for multiple keys and need to be able to quickly get the destination in sync. It's NOT good if you're modifying files or adding stuff to the destination - since that stuff will ALL be overwritten or removed. Be careful. Oh, and I'm not the developer. Just someone helping out and answering questions here on the forum.
  4. Ketarin stores a copy of the filename and path from the last download. This trumps your idea of just copying a file named iTunesSetup.exe into the same folder, as it's more than just the location that matters. If you select an item that has been updated from the Ketarin applications list, and just use CTRL+C you can paste the application profile into notepad++ or something to see what associated data has been modified. Notably, previous location, last updated, last file size, and last file date. This all matters. You could script a few changes to the database to effect this behavior, though. The jobs.db file is a sqlite database, so you could use something like sqlite3.exe to automate the process of inserting this information into the tables, even if you haven't actually run the Ketarin updater. As far as triggering the installation window - that currently isn't possible.
  5. If you used Ketarin to download it, then NO CHANGES are necessary to install it "offline". You just click the "install" button, select the app to install, and click "install". It will execute the installer (or installation instructions per "installation script" setting) for the installation packages in sequence, based on the path that is used in the "save to" field. If you're not using Ketarin to download it, I don't understand why you'd bother using Ketarin to install it. That, to me, is simply absurd. First and foremost, Ketarin is intended to manage installers that it downloads itself. You can use it for a bunch of other things - but I have yet to see a reason why you'd want to use it as the installation source for applications you copied from another drive, for example.
  6. With the ".\" as the first couple characters. Here's an example "save to file" from my iTunes download: The actual path in the "save to file" box is: .\{category}\{appname:regexreplace:([\s\t\r\n\-\\&\/]+):_}-{version}.{url:ext}
  7. Sorry Alfred, I thought it was clear I was talking about the current build (beta), not release. Try this one: https://ketarin.org/forum/index.php/topic/696-ketarin-161-beta-2/
  8. The only column that can't be resized in the current build is "progress". If you're not using the current version, upgrade. It adds a few other features, too.
  9. To use the "install" functionality, installations must be mapped to download application profiles. If you use ketarin as a downloader, this won't be a problem and the paths are all built in...and, if you use a relative path (.\{category}\) instead of an explicit path (d:\setupfiles\), it'll be more portable, too, in case you end up burning them to disk or copying the folder to a USB stick. Alternatively, you could use a generic app profile that just has a series of commands in it (similar to a batch file), but if you're doing this - why not just use a batch file?
  10. The only column that isn't resizable in the current version is "Progress".
  11. In that case, for any variable "from URL", you can use the "POST data" button on the right of the URL to set fields and their values. Alternatively, you can use the HTTPX protocol to get a similar effect, which is the only current method to get a download directly thru a POST form.
  12. It looks like you're just trying to download CPU-Z? If that's the case, you can use this template: <?xml version='1.0' encoding='utf-8'?> <Jobs> <ApplicationJob xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Guid="dc8274ad-2d25-49c9-8a7e-034ced967474"> <Category>Tools</Category> <WebsiteUrl>http://www.cpuid.com/softwares/cpu-z/versions-history.html</WebsiteUrl> <UserNotes /> <LastFileSize>3795688</LastFileSize> <LastFileDate>2011-11-24T01:03:26.3730554</LastFileDate> <IgnoreFileInformation>false</IgnoreFileInformation> <DownloadBeta>Default</DownloadBeta> <DownloadDate>2009-05-10T07:45:16</DownloadDate> <CheckForUpdatesOnly>false</CheckForUpdatesOnly> <VariableChangeIndicator /> <CanBeShared>true</CanBeShared> <ShareApplication>false</ShareApplication> <ExclusiveDownload>false</ExclusiveDownload> <HttpReferer /> <SetupInstructions /> <Variables> <item> <key> <string>version</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>RegularExpression</VariableType> <Regex>-en.exe">([\d\.]+)\s*setup</Regex> <Url>http://www.cpuid.com/softwares/cpu-z/versions-history.html</Url> <Name>version</Name> </UrlVariable> </value> </item> <item> <key> <string>snotes</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>Textual</VariableType> <Regex /> <Name>snotes</Name> </UrlVariable> </value> </item> <item> <key> <string>swebsite</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>Textual</VariableType> <Regex /> <TextualContent>http://www.cpuid.com/softwares/cpu-z.html</TextualContent> <Name>swebsite</Name> </UrlVariable> </value> </item> <item> <key> <string>schangelog</string> </key> <value> <UrlVariable> <RegexRightToLeft>false</RegexRightToLeft> <VariableType>Textual</VariableType> <Regex /> <TextualContent>http://www.cpuid.com/softwares/cpu-z/versions-history.html</TextualContent> <Name>schangelog</Name> </UrlVariable> </value> </item> </Variables> <ExecuteCommand /> <ExecutePreCommand /> <ExecuteCommandType>Batch</ExecuteCommandType> <ExecutePreCommandType>Batch</ExecutePreCommandType> <SourceType>FixedUrl</SourceType> <DeletePreviousFile>true</DeletePreviousFile> <Enabled>true</Enabled> <FileHippoId /> <TargetPath>.\{category}\{appname:regexreplace:([\s\t\r\n\\&\/]+):_}-{version}.{url:ext}</TargetPath> <FixedDownloadUrl>http://www.cpuid.com/medias/files/softwares/cpu-z/cpu-z_{version}-setup-en.exe</FixedDownloadUrl> <Name>CPU-Z Installer</Name> </ApplicationJob> </Jobs> Also, you should take the time to check the online database for some of these applications (click the arrow next to "add new application" and select "import from online database") as there are literally thousands of application profiles already created and it could save you quite a bit of time.
  13. shawn

    Profile

    Hi, Tom! There are a couple ways to do this already. First, make sure you're using a "neighbor" database. That is, if you put the jobs.db file next to the ketarin.exe, it'll process the records from within that jobs file. If you make a different jobs database for your "emergency", "monthly" and "full" profiles, you'll be able to open ketarin with the database and silent switches to perform only those updates. Second, you can sort or group by pretty much anything, including text variables you assign to each app profile. This gives you the flexibility of categories while also enabling you to maintain the functionality of having everything in one place. I use a dedicated variable specific to this purpose, and you'll probably find my variables on app profiles you download from the online database (snotes, sdownload, schangelog, swebsite, stag, and spc). These are each used for different purposes on my systems locally, but don't inhibit their use by others. You can do the same with your own app profiles. And if you need to, you can bulk edit them by exporting a large selection of apps to XML and editing them in an XML editor directly. Third, DON'T USE FULL PATHS! One of the biggest problems I noticed right away when I started using Ketarin...wow, years ago (thanks Flo!)... is that my download path of "c:\downloads\" sucked. It was never friendly to a portable installation or a USB key since the drive letter wasn't 100% reliable. INSTEAD, use a relative path. Ketarin will simply download the target to a relative path/filename. For my downloads, I use this target file name: .\{category}\{appname:regexreplace:([\s\t\r\n\\&\/]+):_}-{version}.{url:ext} This ensures that the downloads will be dropped into categorically named folders where the Ketarin.exe file is. Works like a charm.
  14. Cheef, what Flo said is that it *is* matching the entire group as expected, but Ketarin automatically selects the first submatch when available or the entire group when no submatch is present. I understand that you're not very experienced with RegEx, and this implementation is probably just adding to that frustration - and that's probably why this is so confusing to you. However, there is an internal function specific to this requirement ("regex"), which you can use as a variable assignment or within a text block. Alternatively, if you share your full app profile, we'll be able to look at it with the necessary context to provide additional assistance. Without that we would really just be guessing at what is happening.
  15. Sure. It's been a horrifically busy month for me, so I might not have a working template with the 'latest' method for you until January.
  16. How are you naming the files? I've also seen download delays when the filenames attempt to use the date information from the downloaded files within the resulting filename.
  17. The behavior you're seeing is what happens if the server doesn't provide information about how large the download is within the headers. In these situations, the best Ketarin can do is provide an "activity bar" showing that "something is happening" but not tell you how much of the content it's downloaded. Usually, in these situations the downloads do take longer than when the total size is known before hand...I don't know why, but I can confirm that these downloads take longer, by as much as 2-3x longer than they would if the filesize was known before hand. On some sites you might get a performance boost by ensuring that you're using an appropriate HTTP referer on the advanced settings tab (iow, a URL from this site where the download link is provided). That said, if you can use a download location that provides these headers, you'll get a much better experience. This is one of the reasons why I personally use FileHippo for some of my downloads. It has nothing to do with their site (which seems to have something against 64bit processors and releases), but that since it sends the appropriate headers it's much easier to tell if everything is working okay. I made a quick app profile for RapidEE. It works, but it does show the "unknown" activity bar. It's odd, too, because this one actually includes the content-length header, which is one of the headers that can be used to detect the total file size. Yet, it's showing the activity bar instead of the download meter. Flo...any suggestions?
  18. The pre-update scripts are what the "exit 2" functionality is for. There's a recent thread on that here. You can set cookies in Ketarin using the httpx protocol, too.
  19. Not with 100% reliability. I tried using this method before the current template iteration, but Sourceforge uses browser parsing to identify what the "latest" is for your platform, and it isn't very discerning with whether to provide a source, binary, msi/exe/zip and so on, so on some platforms you can easily end up with a totally random result with each update. Even so, you can use the following regex pattern to obtain the file SF tags as the latest version: source=files" title="(/[^\:]+)\:
  20. Ketarin is designed to be ultra-portable. No registry keys and nothing tying it to an individual computer (unless you're storing the database in AppData). Relying on a Ketarin-based registry key to be remotely current when it's not the only way of installing an application would introduce all sorts of problems. In any case, this can be done effectively with a pre-update script or during the installation script using various tools that are available. For example, you can use nircmd to read registry information if the version number is stored there, or C# (native within Ketarin) to read from a standard file (such as the exe), or you can use a tool I wrote several years ago for similar functionality, Versions.
  21. Use this for AkelPad: "AkelPad%204" Use this for CoolReader: "CoolReader3" Since they're major-version specific, your app profile will necessarily be major-version specific as well.
  22. They're using the wrong structure on SF. Sigh. For this application you'll need to find another source for the version information, since there's no guaranteed way of determining what the distribution should be when they build them this way.
  23. Hi, G! Welcome to Ketarin! With 7-zip, you can indeed extract only one file or only files matching a certain pattern. More about that on the wiki, here. As far as the automated installation destination...it's not really ketarin that you have to worry about, but the individual applications. You can tune the command line for the setup instructions using the same link above, and more here. The thing is, if you're going to be installing in a "silent" fashion or are going to use an automated installer of any kind (including Ketarin), you'll need to dig around a bit to ensure that the installation commands include the custom paths you wish to use. There's a great site that provides the common commandline codes for application installers here. And when in doubt, you can use this to find out what switches an installer allows. As for the download from softwareok - that's entirely manageable with Ketarin. For this type of site you need to view source and see how it operates (in this case, it pushes a redirection around line 166), then in your app profile for Ketarin you need to parse that information either with a left/right or a regex match. For this one I'd use a regex match something like this: window.location.href="\.+([^"]+)" That'll capture the path to the file in a variable, which, assuming you named this variable "sdownload", you could put in the download box in Ketarin as: http://www.softwareok.com{sdownload} Most applications that are shared via the Ketarin online database also include the version number and many also capture other details about an application. In this case, I'd capture the version number with this regex, again, using the same page you posted before as the source: Q-Dir ([\d\.]+)</TITLE> If you have additional questions, it's best to try to create a new thread for each individual request, otherwise it'll get muddled and becomes more difficult to assist. That, and people tend to look at the longer messages like your original post and skip it because they just don't have the time to address *all* of them.
  24. That definitely won't help. Those are a product of Google Analytics, which is in no way related to the download problem.
  25. I'm sorry, Uksuso - this is where I have to throw my hands up with an "I have no clue". It *should* be working with an ANSI encoded file with straight quotes. I don't know why, but it's simply misbehaving when it's trying to import the file due to the quotes. I wonder if it's being loaded as a different file encoding? Hmm... Yes, UTF-8... Try the notepad thing again, this time saving the file as UTF-8 encoding.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.