#dv-annotate: tools for annotating and analyzing logs for bug reporting

1 messages · Page 1 of 1 (latest)

stone canyon
#

This is the discussion thread for the dv-annotate tools described on the wiki page here:
https://delta-v.kodera.pl/index.php/DV_Annotate

This page describes two different "dv-annotate" tools: one GUI-based utility for Windows, and one package of simple bash scripts for Linux/SteamOS/OSX. These are for keeping notes on when problems happen (annotations) and creating a zip or tgz archive of the game data directory to aid in debugging.

Everything is stored in this GitHub repo:

https://github.com/NimrodXMods/dv-annotate/
(See the README files or wiki article for exactly what to download.)

As you can see, the account I'm using on there for this kind of stuff is NimrodXMods.


GitHub

Contribute to NimrodXMods/dv-annotate development by creating an account on GitHub.

ripe viper
#

How difficult would it be to add a 'launch dV' button?

stone canyon
#

very easy. I will add that next

#

Actually, the problem is not knowing exactly where dV is installed. I don't know if I can find it by looking in the data directory.

ripe viper
#

Maybe another tab for 'Game', with the directory in it? Default would be C:\Program FIles(x86)\Steam\steamapps\common\dV Rings of Saturn

#

I suspect Windows posesses a %XX% path for 'program files(x86)' ?

#

Mine is actually on the other drive, the slowerish one, so it'll have to have the user definable directory function the others have, too.

stone canyon
#

OK, shouldn't be difficult. Think I'll do the "install" code next though since I already wrote that in the wiki as though it was already done.

ripe viper
#

🤣 Uhhhhhhh, yeahhhhhh, probably not a bad idea

stone canyon
#

Ok, I'm just posting this here for now because the github gist isn't showing up yet.
This new version has a "Lightweight Install" function that will copy the script to appdata and create a launch shortcut (after getting user confirmation).

ripe viper
#

Will check out tonight. 😄

stone canyon
#

Able to install?

ripe viper
#

Totally didn't fall asleep 😅

#

I suspect this is a 'delete / overwrite if already exists' snippet?

Remove-Item : Cannot find path 'C:\Users\HodgePodge\AppData\Roaming\dV-annotate\dv-annotate.ps1' because it does not
exist.
At C:\Users\HodgePodge\Desktop\dv-annotate.ps1:272 char:5

  • Remove-Item -Force $installedScriptPath
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : ObjectNotFound: (C:\Users\HodgeP...dv-annotate.ps1:String) [Remove-Item], ItemNotFoundEx
      ception
    • FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand
#

Other than that, works as intended, yeah. That line could probably be 'hidden'. Uhhhh, is there a log file for the installer? Not sure if it's necessary, but maybe write a little log that just lists the 'went ok' lines during copy and shortcut creation?

stone canyon
#

Ok I thought the -Force would cause it to ignore if the dir didn’t exist.
If it actually installed you should have seen a terminal window appear asking for confirmation.

#

Anyway I’ll fix that and upload a new one.

stone canyon
#

Ok, give this one a try after deleting 'C:\Users\HodgePodge\AppData\Roaming\dV-annotate'
It should not be confused if that doesn't exist and also I improved the error messages a bit in case anything does fail trying to copy the file or create the shortcut.

#

ok I'll add the launch button next. I should be able to get the executable path from here as long as the game was registered as an installed app :

((get-childitem 'hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') | Where { $_.GetValue('DisplayName') -like '?V: Rings of Saturn' }).Getvalue('InstallLocation')

C:\Program Files (x86)\Steam\steamapps\common\dV Rings of Saturn
#

Definitely works with Steam install but should work for non-steam too.

stone canyon
#

I think I'll set up a proper github repo next then add the launch button

ripe viper
#

Also, the flavor text in the install terminal is brilliant 😂

#

One item of note (perhaps a future thing): I think your average user will likely be very confused with the 'installer' simply being the powershell terminal, as I doubt MOST Windows users even know of its' existence. I'd suspect the 'expected' behaviour when installing would be a Windows GUI element. Probably literally just a simple box with 'yes'/'no' options for 'do you want to install this to $dir?'

#

Move-Item : Could not find a part of the path.
At C:\Users\HodgePodge\Desktop\dv-annotate.ps1:275 char:9

  •     Move-Item -Force $PSCommandPath $installedScriptPath
    
  •     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : WriteError: (C:\Users\HodgeP...dv-annotate.ps1:FileInfo) [Move-Item], DirectoryNotFoundE
      xception
    • FullyQualifiedErrorId : MoveFileInfoItemIOError,Microsoft.PowerShell.Commands.MoveItemCommand

It is VERY confused, and does not create the directory, or copy any files 🤣

#

I guess 'create' files, not copy

stone canyon
#

Ok, well I thought I tested that too. I’m expecting these things to work more like the Unix equivalents but they don’t. I’ll just have to be very explicit.

#

There’s actually no way to avoid the terminal opening when you use “Run in Powershell”. So I just decided to make use of it.

I don’t really think the average windows user will be attempting detailed bug reporting like this.

stone canyon
#

I’ll go ahead and add the launch button too. Should I have it launch, then switch to the annotate tab and minimize?

stone canyon
#

@ripe viper

ripe viper
#

Yeah, this whole not having a day off in three weeks thing is for the birds. Next opportunity, honest 😄

stone canyon
#

Yea my github account was "flagged" as soon as I created it for some reason.
Finally after much trouble I found the spot where it said it was flagged.?
All I can do is open a ticket but hell knows how long it will take them to fix it.

ripe viper
#

Do you use the 'Nimrod' moniker everywhere? It might be yet another 'war on language' element, claiming it's an 'inappropriate' name. Smh

stone canyon
#

No they told me it's the "disposable" relay email address that I'm using. They don't care about the name. I just switched email addresses but they still haven't looked at the ticket again.

#

I'm just annoyed that they didn't provide any explanation immediately and just let everything be broken without any apparent reason or suggestion on what to do.

stone canyon
#

ok, github account finally fixed. Everything updated to point to repo for this stuff

stone canyon
#

@ripe viper If you're back yet, give it a try. Next up will be the modding environment automatic setup wizard.

ripe viper
#

Spent all day driving in snow, checking pings and heading to bed 🤣 Given winter is up time for towing, I might be MIA for a bit, tbh

stone canyon
#

ok, no problem. i'll just keep working on other stuff

ripe viper
#

I can't seem to remember where the link to the git was 😄

stone canyon
ripe viper
#

So, the temp directory in PS> is that just used for file storage until the zip is completely compressed?

#

I see no errors thus far (minus the 'I can't find that' for the screenshot default, lol)

#

_Readme has a little typo 'mentioend' 😄

stone canyon
#

Yes that’s to make sure it doesn’t complain about locked files

#

It deletes its tmp directory unless I forgot to make it delete it

#

Ok I’ll check the typo. Did the game launch button work? @ripe viper

ripe viper
#

Oop, the one thing I didn't check 🤣

#

It does NOT appear to be functional

#

You cannot call a method on a null-valued expression.
At C:\Users\HodgePodge\AppData\Roaming\dV-annotate\dv-annotate.ps1:834 char:5

  • $dvInstallDir = $dvRegInfo.GetValue('InstallLocation')
    
  • ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (:) [], RuntimeException
    • FullyQualifiedErrorId : InvokeMethodOnNull

Join-Path : Cannot bind argument to parameter 'Path' because it is null.
At C:\Users\HodgePodge\AppData\Roaming\dV-annotate\dv-annotate.ps1:835 char:25

  • $dvExe = (Join-Path $dvInstallDir 'Delta-V.exe')
    
  •                     ~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidData: (:) [Join-Path], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCom
      mand

Invoke-Item : Cannot bind argument to parameter 'Path' because it is null.
At C:\Users\HodgePodge\AppData\Roaming\dV-annotate\dv-annotate.ps1:838 char:17

  • Invoke-Item $dvExe
    
  •             ~~~~~~
    
    • CategoryInfo : InvalidData: (:) [Invoke-Item], ParameterBindingValidationException
    • FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.InvokeItemC
      ommand

Given this error when clicking launch button. Steam IS running, currently, if that matters

#

Pffft, discord and markdown 🤣

stone canyon
#

Hmm it must not be finding the install path in the registry where I expected.

#

Did you install dV with Steam or just unzip to a folder? Steam doesn’t need to be running, it just uses the usual windows installer info.

#

Anyway it needs a manual config in case it can’t find it.

ripe viper
#

Via Steam

#

It is not installed to C:, but P:.... but the registry should reflect that

stone canyon
#

@ripe viper Ok, see what happens if you run this in PowerShell:

Get-childitem 'hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' | ft Name -Wrap

(All one big line.)
If that works then it will list of a lot of stuff, one line for every installer.
Then see if this works:

Get-childitem 'hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall' | Where-Object { $_.GetValue('DisplayName') -like '?V: Rings of Saturn' }

(That's all one big single line.)

#

I wonder if windows 10 has this in a different location or something.

stone canyon
#

@ripe viper see above

ripe viper
#

The second snippet simply does 'nothing' Powershell moves to a new line, no output message of any kind

#

The first snippet DOES print a list of UNinstallers to the terminal.. But I don't think that is EVERYTHING installed on the machine, there's no way

#

It's 84 items, and I know I've got to have nearly 200 'installed' programs on the machine

#

Does that question mark have anything to do with it?

#

Changing it to both 'd' and '*' have caused no difference

#

Let me see if I can find the dV install in registry real quick

#

One instance of the install path is here:

Computer\HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache

#

Another here:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FeatureUsage\AppSwitched

#

And the same places in HKEY_USER

#

There are a few other references, including drive mount (deviceharddisk0) and compatibility mode functions, but I think those might not be reliable, maybe?

#

I tried searching for both SteamID and 'Rings of Saturn'

stone canyon
#

Seems like Steam didn’t install the game properly or the registry got corrupted. The hklm:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall key should contain a subkey for every installed app that was installed with any sort of installer. All the Steam ones should have a key name of “Steam App XXXXXX” that has a value named DisplayName.

If the second command line didn’t return anything but didn’t print an error then there was no subkey in Uninstall that has the DisplayName value set to <greek delta>V: Rings of Saturn.

#

Some things to try: uninstall dV and reinstall it in steam to see if the registry key appears.
Also look in the “Add and Remove Programs” control panel and see if anything is missing from that.

ripe viper
#

For now, uninstall/reinstall is a no-go, not with data cap limits.... Even as small as the game is, I hit the limit the day before bill renew, just doing normal things, no uploads, no YT videos watched. It's MISERABLE 😂

The game is DEF installed, and has associated values in registry that correspond to the install location. What I find interesting is that only like 1/3 of my programs have entries in that registry ...folder?....

stone canyon
#

The term for the folder-like things in the registry is “key” and the things like files with a specific value are called “values”.
I’m not sure how to explain all the missing things there. That registry key is Microsoft’s recommended way of finding out what’s installed. Are the missing things also missing from the “remove programs” control panel?

ripe viper
#

Right, duh 😅

#

Uhhhhhh..... I can correlate things tonight. I'm old and do things manually, so it'll take me a little bit

stone canyon
#

Any updates on anyone using this?

ripe viper
#

Not I, sorry. I might be changing the way I use hotspot, so I might be able to uninstall and reinstall dV then. I'll find out in a couple weeks, though. 😦

ripe viper
#

Uninstalling and reinstalling now

#

Downloading at 2MB/s......ughhhhhh 😂

ripe viper
#

Ok, so I'm still getting the same output in PS. Let me check the registry again, and see if the requested value is available

dense storm
#

just to double check, is it the first or second line that's breaking for u?

ripe viper
#

The second code provides no output. It's checking to see if dV is in the list. For my machine, it is not. I just checked manually too, just in case there was some odd syntax issue. I do not have dV listed in that folder in my registry

dense storm
#

i see

#

for me it shows the steam id at least

ripe viper
#

I don't even have a listing using the SteamID

dense storm
#

this is the entry that i have at the very least

#

weird that it doesn't show for u tho

ripe viper
#

I wonder if it's something to do with installing to a different disc then?

dense storm
#

might be

ripe viper
#

Let's put it on C: and find out

#

If that's the thing, then using that method for install location detection would be unreliable anyway, I think

dense storm
#

huh, just tried that second string and it seems to show the properties of the executable by the looks of it

ripe viper
#

I wonder if it might be better to use a search function to lookr for the folder structure?

dense storm
#

maybe

ripe viper
#

That appears to be the desired behaviour

dense storm
#

also. just tried the dv annotate install script and it seems to immediately close powershell the moment it's run without creating a shortcut like it's supposed to

dense storm
ripe viper
#

Hmmmm, I haven't tried the install script since we started trying to find the install location, maybe I should give that a go, too?

dense storm
#

maybe

#

i just gave it a second shot and there was a large red message i saw the frame before it closed, maybe if i record it i can see what it actually says

ripe viper
#

Was that in powershell?

dense storm
#

yeah, using the Open with powershell option in the dropdown menu

#

or rather, run with powershell

ripe viper
#

Hmmmm, I don't thing PS should just close on its' own?

dense storm
#

ohh, it's execution policy isn't set correctly

#

no wonder i forgot something

#

since i forgot how to do that and cannot be bothered to google, i'll just dump the script into notepad and save it as my own to not be a web downloaded script

#

works :D

ripe viper
#

Still downloading dV for C: install 🤣

dense storm
#

ouch

ripe viper
#

Yeah, I'm sooooo over my current situation

#

That STILL does not create the registry values

dense storm
#

maybe a feature for later for this tool would be to automatically select the screenshots folder, which for whatever reason has the worst folder structure for finding it

dense storm
#

maybe after a restart it'll show up, but i take it that there's no steam app entries anyway

ripe viper
#

No, that's the thing, I've got Besiege, Satisfactory, Subnautica, Astroneer all in there

#

But I def have 10 OTHER games also installed

dense storm
#

fuckin weird, and i take it those are all installed externally too

ripe viper
#

Installed via Steam, just like dV

dense storm
#

hm, and all not on the c drive too i would assume

ripe viper
#

On C: is Astroneer, Besiege, and Satisfactory. Everything else is on P:

dense storm
#

huh, that's inconveniently inconsistent

ripe viper
#

RIGHT?

#

I dunno if I'm blaming Valve, or Microsoft

dense storm
#

and it's not like the desktop shortcut or start menu shortcuts can be reliably used also since they're optional

ripe viper
#

I think the launch button should just also have a manually settable value/location. Because the script can't find it on my machine, it says

Launching dV from ''

#

And I never use those anyway, so for my particular use case, also pointless

#

So, the only hits I get in my registry from the SteamID are in Steam folders, without install directories

#

I wonder if there'sa method to search 'likely locations' in the registry (so it's not slow and boggy) and just stop on the first hit that contains an executable?

dense storm
#

i would say there's a possibility, i'll install a couple of things to an external drive just to see if there's anything reliable

#

this is probably gonna take ages as there's a good few terms that u can search on

ripe viper
#

I mean, everything Steam installed will be \Steam\common\apps\XXgameXX

#

So search for that, in User and Local Machine only, in like 3-4 spots, should get a hit

dense storm
#

actually that's fair, didn't think of it like that

stone canyon
dense storm
#

yeah, i think the best thing is just adding a note on the instructions to copy and paste the contents of the file if it doesn't work, as that was a quick and easy solution for me

dense storm
#

didn't show it for me, just displayed it linking to a subfolder of the pictures folder, lemmie grab a screenshot rq

#

should be like this, unless it's intentional

stone canyon
#

That’s the default if it can’t find the Steam screenshots folder.
It tries to find the screenshots directory by guessing that Steam is installed on C: and that the most recent user id directory is the correct one.

#

Let me try that again

dense storm
#

gotcha, thank you

dense storm
stone canyon
#

What do you have in Steam\userdata?

dense storm
#

this is what the userdata folder has

#

and this is the full path that steam apparently uses for my screenshots

stone canyon
#

Ok seems like it should have found it. I’ll check

#

@ripe viper does the game or anything else missing from the registry show up in “add and remove programs” in the settings?

ripe viper
#

I don't get a dialogue, and there is no section in the file properties with that

#

Also, dV is not in remove programs.... which is odd, because I swear it was before I tried moving it

#

Which makes sense (that it's not there) because remove programs comes from that folder in the registry.

#

What's really odd is that some of the Steam games are installed normally, while the majority of them are not

ripe viper
#

Another interesting note: ALL of the games I've EVER installed via Steam are listed in two locations (the same folder in both Users and LM), even ones no longer installed. I should clean those out. The issue with those are: they do not list install paths, at all.

stone canyon
#

@zenith sentinel You might want to check this utility out. It helps with keeping track of events in the logs and archiving within having to exit the game