Jump to content
Ketarin forum

shawn

Moderators
  • Content count

    973
  • Joined

  • Last visited

Everything posted by shawn

  1. What is the context where it's asking you for window style? Is that a Multi Commander setting? You should be able to make any changes you like directly from Ketarin. I use nircmd to make simple INI changes and a custom VBS to make XML file changes.
  2. Haven't tested your code but this may be the problem: Commander\" Note that a backslash escapes quotes, so you either need to use two or end the directory without the slash: 7z x "{file}" -o"{root}SyMenu\ProgramFiles\{category}\Multi Commander" -xr!*.ini -r -y Again, I haven't tried it, but it's worth a shot.
  3. shawn

    How to install font by ketarin

    As for 7z - if you're keeping the packages portable then you should be able to put 7z.exe beside the ketarin.exe to make it available to Ketarin commands and scripting.
  4. shawn

    How to install font by ketarin

    Fonts don't have to appear in the registry to be installed and available. The only thing necessary for a font to be "installed" is for the font file to be copied to the Windows\Fonts folder. If the font is there, it's installed. If not, it's not. Ketarin is more a package manager than anything. If an application doesn't have a download URL then it's not really a Ketarin thing. In this case, what you're trying to do is another thing that requires elevation. If you run Ketarin elevated ("run as administrator") this will succeed. If not, you'll get an access denied error. The first step in diagnosing problems with installer scripts or pre/post commands is to run them in a full interactive command prompt to see if they work that way. You can also use the "log" feature (CTRL+L) and look for errors during your commands. In either of these situations you'd see an access denied error. Trying it elevated it works. Run Ketarin elevated and you should be fine.
  5. shawn

    reg file

    no, elevated. right-click on the keterain EXE and select "run as administrator"
  6. shawn

    reg file

    are you running ketarin elevated? regedit requires elevation.
  7. please read the notes that accompany the batch. try it. you can learn as much from failure as success.
  8. shawn

    How to install font by ketarin

    An EXE isn't a font, so it won't install the fonts by copying the file. You'll need to extract it or run it to extract the fonts. Sometimes you can use "/S" to install it silently, but 7z should be able to extract if it's just a self-installing exe. Doesn't hurt to try, anyway. I would run this from a command line first to test it out: 7z e 214fa.exe If that results in your fonts being extracted then you're good to go. You just need to change the output directory and use a full path to the file. Something like this: 7z e -o"%windir%\fonts" "{file}" *.ttf *.otf *.ttc *.fon
  9. shawn

    reg file

    use a complete path to the reg files. regedit.exe /s "{root}\Apps\Tweaks\ie.reg" regedit.exe /s "{root}\Apps\Tweaks\oeminfo.reg" regedit.exe /s "{root}\Apps\Tweaks\photo viewer.reg" regedit.exe /s "{root}\Apps\Tweaks\remove.reg"
  10. Most likely the drive letter changed. Ketarin stores the complete path to the downloaded file, not the relative path. This means that if the drive you're running Ketarin on within your own computer maps it as E: and other computers you run it on map it as F: or G: then it won't be visible and will need to be reparsed before it'll run. A simple solution is to change the drive letter of your device to match the drive letter you originally downloaded stuff on. I use "K:". There is a sample script to automate this here.
  11. shawn

    How to install font by ketarin

    If you're installing many fonts, then using a zip would be faster. I've never seen 7-Zip as part of a Ketarin distribution. Based on the image it looks like you installed or extracted the 7-Zip package into that folder. 7-Zip is released in both 32-bit and 64-bit formats. The 32-bit format will work on both 32-bit and 64-bit computers. For the purposes of running the "7z" command (7z.exe) you only actually need the 7z.exe file, everything else can be removed. It does need to be located within some directory in the system path, however. 7-Zip works with zip, rar, cab and many other compression formats. If the font file isn't compressed then you can use just the commands with "*" for many files, but if each Ketarin Application is a different font then you could use a more generic command: copy "{file}" "%windir%\Fonts" This would install the font by copying the individual file downloaded into the Fonts folder, regardless of format. It does expect that the file is a real font file, of course. Since zip files are files, if you were going to use a font.zip file you'd need to download it "to a file". You can't use "font.zip" as a folder name and have it still be a real compressed file.
  12. Are you performing an "update and install" or just an "install"? The error would occur if you were attempting to use the "update and install" or if any variables you were using within your install script depended upon an active internet connection. I use the following to install Firefox: ECHO.[Install] >"%AppData%\firefox.ini" ECHO.InstallDirectoryName=Mozilla Firefox>>"%AppData%\firefox.ini" ECHO.QuickLaunchShortcut=false>>"%AppData%\firefox.ini" ECHO.MaintenanceService=true>>"%AppData%\firefox.ini" "{file}" /INI="%AppData%\firefox.ini"
  13. shawn

    How to install font by ketarin

    In the last two examples the 7-zip command-line application is used. There are samples and suggestions in the Wiki of how this can work for you.
  14. shawn

    How to install font by ketarin

    Alternatively, you could extract directly to the Fonts folder by selecting only those font file types with this:
  15. shawn

    How to install font by ketarin

    The above assumes that the downloaded file ("{file}") is a single font file of any standard format (otf, fon, ttf, ttc). This would be true as long as you're downloading fonts individually. If you're actually downloading a fontpack or zip or something, in which case you'd need to extract them first. I recommend extracting them to a temporary folder or your 214FA folder to prevent extracting garbage information. That would look something closer to this:
  16. shawn

    How to install font by ketarin

    the path your using is wrong. "start process" expects the name of an application, such as xcopy. you don't need to use the "start process" wizard but rather the "copy file" wizard. it would look like this:
  17. shawn

    Unexpected EOF

    If you have access to the server hosting the files, I'd look at the logs to see if there were a server-side reason why those requests were unfulfilled. If you don't have access to the logs I would first try setting the application "advanced" option to "don't download simultaneously with other applications" to minimize the chance of overloading the server. If you don't want to hit a single-threading limit that this checkbox imposes you could try reducing the global "connection" setting "number of parallel downloads" to a smaller number. I recommend no more than 2 or 3 if you have many apps on the same server. Too much load will get you blocked or even banned, or will result in the server or gateway using the user-agent header within their filtering rules, hurting all of your downloads or potentially all of *our* downloads.
  18. shawn

    Ketarin on GitHub

    Thanks, @floele! I might actually start reviewing the code myself, now.
  19. shawn

    Auto-Extracting archives

    7z x "{file}" -o"C:\your output folder\" -y
  20. shawn

    How to install font by ketarin

    It's ridiculously simple to "install" a font: copy "fontfile.otf" "%windir%\fonts"
  21. shawn

    Ketarin 1.8.10 beta 2

    awesome! I feel like this release is all about my requests. Thanks, @floele!
  22. shawn

    Unexpected EOF

    Was the server/source available? Could you hit it from a browser? I suspect a firewall was blocking you for some reason. Either your IP or the specific user-agent that the app was using.
  23. Thanks, @floele. Maybe I need to just find a different source for the Drupal version number. This is the *only* app that is misbehaving like this.
  24. I finally got around to using Ketarin to push update information to my server. It works for hundreds of my apps, though does feel to be significantly slower than Ketarin was before I added this. I've also noticed a couple that fail. The applicable line of PS code is: 'version'=$($app.variables.ReplaceAllInString('{version}')); The error is: Drupal Exception calling "ReplaceAllInString" with "1" argument(s): "The remote server returned an error: (403) Forbidden." Exception calling "ReplaceAllInString" with "1" argument(s): "The remote server returned an error: (403) Forbidden." Exception calling "ReplaceAllInString" with "1" argument(s): "The remote server returned an error: (403) Forbidden." Exception calling "ReplaceAllInString" with "1" argument(s): "The remote server returned an error: (403) Forbidden." Since Drupal now uses IP-based brute-force prevention, I suspect that it's actually an error related to an attempt by Ketarin to re-parse {version} based on the two server requests it has to make to collect it. If that is the case, it explains why Ketarin has become so much slower since I began this integration - it would be making additional server requests with every single App and that would significantly increase timing. Is there a way in powershell at post-update to only collect the cached content of those variables without re-triggering? This is in post-update so it should have current data cached for all of them.
  25. I've now tried using this and it does seem to almost always pull the data from the cache instead of re-requesting URLs. I had some problems with the date and filename information so ended up prepopulating those. Here's what I'm currently using: $sfilename = $($App.CurrentLocation); $sfiletime = [datetime]$($App.DownloadDate); $sversion = $app.variables.ReplaceAllInString("{version}", $sfiletime, $sfilename, $true); I would assume that $App.DownloadDate would have the file timestamp from the current download (ideally the date the file was originally published, but the current timestamp if that's not an option). If that's not the case, then is there another variable to pull this information directly? I switched it out with this and it seems to be working ok, any reason I should use something else? $sfilename = $($App.CurrentLocation); $sfiletime = [datetime]$( (Get-Item $sfilename).LastWriteTime ); Now... It looks like it might work, but I'm still having one problem. One of my constructed variables re-requests the URL every time regardless. Is there a reason for it? The variable is schangelog and is defined as https://www.drupal.org{schangelogstub}. schangelogstub is another variable that uses a regex capture from the site to get the actual current version number to identify the specific URL for the changelog. The "new" ReplaceAllInString is still re-requesting the URL to build schangelogstub, and returning: Drupal The remote server returned an error: (403) Forbidden. (https://www.drupal.org/8/download) The file downloads. The rest of the variables are populated. but it is still reported as an error by Ketarin since the PS chokes on re-requesting this content. Darn Drupal.
×

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.