« first day (1500 days earlier)      last day (1680 days later) » 
00:00 - 14:0014:00 - 00:00

12:00 AM
RELOAD!
[rubberduck-vba/Rubberduck] 3 opened issues. 1 closed issue. 13 issue comments.
 
 
3 hours later…
2:35 AM
Welp... I can honestly say I attempted to learn C# before, long before finding the pond.
1st semester at community college books I came across while cleaning out my old stuff at the deceased old woman's house, aka Grandma.
How long did it take you to learn programming? Eh... Only 15 years.
 
Hello, there!
 
@IvenBach meh, I'm still learning after 33 years, and plan to keep learning for many more.
@FallenUser hi
 
VBA RUbberducking?
Well, there's a new to everything@
 
Indeed there is!
 
2:53 AM
@ThunderFrame at least you know what you’re doing. 18yr old me couldn’t understand it at all. Reflected by the F I would have received had I not dropped before the last date to do so.
 
HAHAHAHAHAHA
choke
more choking
 
We should be putting xmldoc on the interfaces instead of the implementations.
 
yup. I still want to xml-doc the heck out of inspections, and use that to generate content on the website
 
I just finished a SandCastle project at work, and /// <inheritdoc /> is the bomb.
No more trying to keep a half dozen implementations in synch.
 
3:01 AM
@FallenUser this chatroom is where contributors to the Rubberduck project hang out and discuss everything about the project. See sidebar.
@Comintern still, little use to xml-doc implementations when everything is written against interfaces
 
Exactly.
I'm going to go ahead and merge #4181 unless anyone has objections. I don't want to get my next pull synched into it.
 
[rubberduck-vba/Rubberduck] comintern pushed commit 101b3343 to next: crank down on encapsulation to aid debugging, language features.
[rubberduck-vba/Rubberduck] comintern pushed commit 12718a19 to next: Fix over-zealous caching regression from #4039. This should close all outstanding ComReflection issues. Ref: #4045, #4091, #4174, and probably others.
Merge pull request #4181 from comintern/next

Fixes ComReflection regression
 
@Comintern beat you to it =)
 
speaking of in synch, if you have modules that you like to put into multiple projects, how do you keep them up to date, when changes are required?
Ordinarily you'd use source control, but until a viable solution comes along, what if we were to add a GUID annotation to a module, and then house the master-modules in an add-in, or as a text file repository, so an add-in remains light weight and host-specific add-ins can share the repository, and then the add-in can check the GUIDs and prompt the user to update the modules based on the GUID?
 
@MathieuGuindon Thanks! Now I can figure out why I have 34 failing tests.
 
3:14 AM
@Comintern can you layman’s educate me as to how/what that does?
 
@ThunderFrame wouldn't actual source control support be simpler to implement?
 
@ThunderFrame I usually just put it in an addin, but then again I rarely distribute anything.
 
@IvenBach it takes xml-doc comments and generates e.g. a website with it, kind of like MSDN
 
^^^
Although I my case I was targeting a CHM. Management loves those for some reason.
Do we have tests that rely on broken behavior in the serialized assemblies? I made an indenter change, but all of the failing tests look related to the Excel specific function inspections. Weird.
I did serialize after that PR, but the unit tests should be pulling from the ones in the test files folder, no?
 
hmm that hasn't changed since forever.. IIRC there have been some changes to mocks' caching of deserialized references, can't quite recall though
must be a stupid one-liner fix
 
Odd. I have functions failing that don't come close to my changes. I'll try clearing my local declarations.
 
[rubberduck-vba/Rubberduck] build for commit 93f51434 on next: AppVeyor build succeeded
[rubberduck-vba/Rubberduck] build for commit 93f51434 on next: 52.46% (target 0%)
 
That was it. Something isn't mocking the declarations collector.
 
> Noticed this after I serialized declarations to scan through them to validate the COM collector output. Next time I ran unit tests after that, I failed all of the Excel specific ones. I deleted them from my Declarations folder, and then :poof: all tests passed again.

This has 2 implications. First, the cached declarations might not be current enough for the unit tests to be effective (otherwise they shouldn't care which declaration set they were using). Second, unit tests should be repeat
 
@MathieuGuindon ooOoOOoooh!
 
3:42 AM
Critical COM type library loader regression bug introduced a few weeks ago is finally fixed! Kudos @CominternVBA! https://github.com/rubberduck-vba/Rubberduck/releases/tag/Rubberduck-v2.2.0.3496
 
@TweetingDuck In all fairness, the regression was caused by making my initial broken code work as it was intended.
 
Well with that fixed, v2.3 is just around the corner now
 
I'm still playing around with stop-gap fix for attaching to windows. I'm trying to find a decent event to use - enumerating all of them at the start is a recipe for disaster if RD and VBE are both starting up at the same time.
RD gets in there just at the point where objects have been created, but they aren't ready for use.
 
4:21 AM
@MathieuGuindon yeah, I suppose it's reinventing the wheel to a certain extent.
@IvenBach I never claim to know what I'm doing. I have moments of absolute frustration with sometimes trivial problems, and punch-the-air moments of jubilation when something finally works. Don't ever think that you have learnt enough, keep challenging yourself, and you'll start to appreciate your achievements and yearn for new challenges.
 
I've learned too much about WordPress.
 
I don't mean to sound like a self help book. But Fake it until you make it is only half the story, you need to keep faking it and keep making it.
@Comintern LOL. I'm about to set up a blog. I was going to install WordPress and be done with it, but now you're making me worry.
 
That's actually what it's designed for. We outsourced our company website to a WordPress developer (it was in aspx before), and it's been a complete nightmare.
Kind of like a continual 6 month face-palm.
 
4:37 AM
@Comintern oh, the whole site. That would be a pain.
 
It's not even that big. The contractor is taking ages on simple stuff too - like they took 3 full days to get an email generated by a form to go to the correct addresses and in the correct format.
The guy who was working on it was making changes hourly for the entire time too. I seriously think he had to be on meth or something.
They also didn't account for the fact that all of our external back-links that had to still work were not case sensitive, but moved us from a Windows Server to a Linux LAMP machine. It's been completely amateur-hour.
 
5:02 AM
@Comintern so the LAMP cost savings are already eaten up, several fold, by paying the contractor. Seems to me he knows how to run a lucrative contracting business. I'm unsure how long it can last, if you're ever asked for a reference.
 
Cost savings were gone a long time ago. We could have hired a full time programmer for a year instead.
They've apparently been losing money on this too - they ran 3 months behind schedule due to biting off more than they could chew.
 
ouch @Comintern. Umm, I've taken some time reading about generating documentation and learnt there are a few XML generators. you mentioned Sandcastle being one to use that appears to have a Standalone GUI interface. The other one is DocFX I learnt which .NET can also parse into a markdown file. dotnet.github.io/docfx/tutorial/docfx_getting_started.html.
 
> This appears to have nothing to do with the inspection - looks like it was defaulting the return type to Object because the VBA type library didn't load correctly. This works fine after the changes in #4181. Status bar shows Split returning a Variant, and the inspection is not triggered with the sample code above.
 
giving a MS Doc appeal in their template.
 
@PeterMTaylor I played around with DocFX for a while. I went with SandCastle mainly because it integrates with Visual Studio, so it's trivial to add document generation to the build process.
There was another one that I played with, but the name escapes me ATM.
 
5:12 AM
fair enough. Thanks for your thoughts. I'll have a looky with Sandcastle and see if Powershell could work with something I had in mind.
 
I do know that it can be scripted - usually things that integrate easily with VS tend to be things that Powershell can also work with.
 
We really need to get that xmldoc in VBA issue working.
 
The main hurdle for me was getting used to the custom xml that it uses.
@ThunderFrame That would rock.
@PeterMTaylor Oh, duh... The other one I've messed with was Doxygen.
 
cool.
oh..found that using RD dependency to .NET version 4.5 correspondence to .NET version 1.3 standard. github.com/dotnet/standard/blob/master/docs/versions.md
sorry correction. RD using .NET 4.6 is equals .NET standard version 1.3
 
TTGTB. The Indenter is being, well, the Indenter.
 
5:24 AM
rest well. catch ya later.
 
I've got my HTML Syntax highlighter working nicely, including a custom highlight for RD annotations, and by hacking the script a little, I've even been able to get the mouse-hover to show a tooltip explaining what the statement does.
When AvalonEdit comes along, in addition to a real statusbar, we could also have mouse-hover documentation for keywords and declarations.
3
 
any snapshots of WIP @ThunderFrame?
sounds good.
okay. be offline now got my daughter's desk to build from a flatpack. not IKEA. :) Also on holidays for a week so would see if I can move along with what I have on my side of things.
 
WIP would help me understand.
Note to self: Get going on source control familiarization and then documentation for soon to be contributing ducks.
Night pond.
 
5:44 AM
@PeterMTaylor it'll need to be an animated gif, give me a while and I'll record something.
 
6:06 AM
@IvenBach until I get an animation of a fuller codepane, here's a codepen example of HTML mouse-over on Option Base statements. Just place your mouse over the statements in the bottom pane.
 
 
1 hour later…
7:20 AM
@this I've had a play with the DataVault, setting it up as PublicNotCreatable in an add-in. I'm confused. It doesn't seem secure at all because of the leaky Immediate Window. I had already tried the static variable approach in my own attempt to defeat the Immediate Window, but despite the Execute method being Private, the immediate window will happily run not only WriteData and ReadData, but also Execute.
That is, if you can work out the arguments for Friend/Private members, then the Immediate Window can easily access and modify the data.
 
7:31 AM
@MathieuGuindon If I type ElseIf foo = 1{Enter}, does the keyhook catch the {Enter} early enough to have AC automatically add the missing Then, and subsequently prevent the Compiler Error: Expected Then?
because I keep doing that, and it's driving me nuts
@MathieuGuindon Also, if I place the cursor to the left of an If statement, and then press {enter}, AC adds an End If statement, and keeps the cursor where it was, without inserting a new line, which was my intention. AC should be able to tell my intention based upon the cursor location. IDK - maybe you already fixed this?
 
 
2 hours later…
9:28 AM
> Creating a predeclared class is tedious. You can add a class, export and remove it, edit and save the attribute in an external editor, reimport the class, and then rename the class to the required name. If you're organised, you might have a predeclared class file, but you still need to navigate to it and import, hoping there aren't naming conflicts and then rename it.

RD should have a command that prompts for a name, and then automatically creates a predeclared class.

An alternative migh
> Recent versions of VBA allow for a project to reference another project created by the same host.

If you have an existing project, say an add-in, and you'd like to create a new project that refers to that add-in, you have to switch to the host, add a new document, switch back to the VBE, ensure the project's don't have the same name, then use the references dialog to add the reference from the new project to the add-in project.

It would be useful if RD allowed you to complete all of thos
> If you'd like to change the names, or the Instancing/predeclared attributes, or the description attributes of multiple class modules, you have to do everything through the Properties ToolWindow and,/or exporting and importing the module. It would be very useful if you could open a form with a listing of every class, and its attributes, and allow a user to update each of them, as required, in one place, and then, upon hitting Apply, have all of the attributes update.
 
9:57 AM
@this, re DataVault, I think I've found a way to make it work by adding an optional "key" parameter to Execute with a type of Variant. But the key isn't a string or number: in order for Execute to succeed, TypeOf key Is PrivatelyInstancedClass must return true. There's no way for the add-in client to instantiate a PrivatelyInstancedClass, so there aren't any brute force opportunities for cracking the key.
 
hi
I have just pulled the latest version of RD from the repository and the add-in doesn't want to start
`---------------------------
Rubberduck Add-In could not be loaded
---------------------------
Castle.MicroKernel.ComponentActivator.ComponentActivatorException: ComponentActivator: could not instantiate Rubberduck.UI.Inspections.InspectionResultsDockablePresenter ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException: Invalid class string. (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))`
is there something that needs to be done before I can run it?
I'm using next branch
 
11:02 AM
> Is this a problem with the unit test framework or the test suite?
I’m having a bit of trouble understanding the issue.
 
11:16 AM
Hmm... Tried the TypeLibAPI, but it too gets the .OCA not the .OCX, and then throws COMExceptions trying to get various properties :-(
Time to grab the source for OleWoo
 
@ThunderFrame nice example in Codepen and I see what you meant. :)
 
11:57 AM
> I do not see how the `MockParser` can use the user generated serialized declarations, except for the case that they got generated in a test.

This is from where the serialized declarations get added:

```csharp
public static void AddTestLibrary(this RubberduckParserState state, string serialized)
{
var reader = new XmlPersistableDeclarations();
var basePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
basePath = Directory.GetParent(basePath).Parent.Fu
 
12:10 PM
@ThunderFrame My point was that the BaseAddress variable cannot be exposed in that way. Yes, You can execute even the Execute but you never can find the value BaseAddress, short of actually stepping code inside the Execute method. By same logic, you could get the same "security" by storing the sensitive info in a static variable. BTW, I also wasn't thinking of add-in but of storing it in a *DE file (e.g. a single VBA library that's stripped of source code).
@ThunderFrame I do not think that will work in a single VBA library where you have access to the private classes? Using a 2nd library, you can use the project boundary to your advantage and that's good. But with a standalone *DE file and assuming you don't want to deal with a 2nd *DE file, the options to me basically seems limited to storing the sensitive information inside the static variable.
@Kapol could you check if you are able to start RD with no addins or any extras enabled?
 
@this I don't have any other add-ins
 
ok. going to pull from next and see if I get it or not.
 
thanks!
 
> For reference, the production com synchronizer uses the following path for the serialized declarations:

```csharp
serializedDeclarationsPath ?? Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Rubberduck", "declarations");
```

Here, again, the parameter `serializedDeclarationsPath` never gets passes in with anything but the default value.
 
12:27 PM
@this *DE? I thought Access was the only host that supported excode as MDE?
 
Correct. Well, I guess there's Unviewable but not sure how good that is.
The main driving concern is the distribution. Distributing an Access file that has a reference to another Access file is not fun.
 
@this doesn't matter that BaseAddress is unreachable, when the actual string is easily accessed read and write?
 
BaseAddress != string
 
@this I looked the other day. The unviewable product just hides the modules, all the source code is still there, but they have a new product that removes the code. I'm unsure if they also remove the p-code.
 
@Kapol no repo here.... Office 2010 here. Yours is?
 
12:30 PM
it's 2013
 
@this I meant the string that you provide to WriteData, and the string you retrieve with ReadData.
Gaaaa, Autocorrect is so intrusive. Anyone know if you can disable autocorrect per app in Android?
 
@ThunderFrame That's your data, no? For a class that needs to hold sensitive information, they could instantiate a private instance of DataVault and not expose it publicly; encapsulating the access to the WriteData/ReadData, right?
@Kapol 32 or 64?
 
@this 64
 
Mine's 32. It should not make a difference but...
@Comintern / @MathieuGuindon any chance that last night's merge might have broken the 64-bit build?
 
> I made the major and minor reference mandatory in MockProjectBuilder.AddReference. The problem with this is that it is not abvious that you have to provide them when referencing a library in tests. In paricular, there have been two tests referencing the Excel object model, where the major version 1 and minor version 8 had not been provided. Before, the versions simply defaulted to 0, which is not too helpful. I would like to add that I am not too happy with the current design since...
it is possible to reference other projects that do not have a version number, e.g. other Excel workbooks.
 
12:38 PM
@this You're suggesting that an ACCDB (client) can call code from the MDE (add-in)? If the client can step code, utilising a class from MDE, and the MDE class uses a non-static DataVault instance, then IIUC, the client can see the DataVault, and, if they can guess the signatures, call DataVault members.
 
@Kapol No repro on Office 2013 32bit
Did you try to clean and then build?
 
@ThunderFrame No, no. That's still 2 VBA projects with a clear boundary. I'm talking about a single VBA project -- e.g. a single *DE file, so you cannot use the VBA project boundary to protect access.
 
@M.Doerner Yes, I even removed all bin and obj folders manually
 
That might actually cause problems with the tests.
 
12:51 PM
I thought of using Clean in the Build menu of VS.
 
> # [Codecov](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4186?src=pr&el=h1) Report
> Merging [#4186](https://codecov.io/gh/rubberduck-vba/Rubberduck/pull/4186?src=pr&el=desc) into [next](https://codecov.io/gh/rubberduck-vba/Rubberduck/commit/93f51434821ddf0f6ab13ee3f1e30f1003690bad?src=pr&el=desc) will **decrease** coverage by `<.01%`.
> The diff coverage is `n/a`.


```diff
@@ Coverage Diff @@
## next #4186 +/- ##
==========================
 
@this so the MDE is a complete database with stripped-out source code. And you trigger code by interacting with commandbars, forms and reports? There are no breakpoints, you can see OB and Immediate Window, but you can't halt code or step code? But while you can potentially execute procedures and predeclared members from immediate window, does it give you access to anything else?
 
[rubberduck-vba/Rubberduck] build for commit 99b41b47 on unknown branch: 52.46% (target 0%)
 
We have test files in the test assemblies bin folder, IIRC.
 
Isn't DataVault overkill at that point, as all class instances are unreachable, or are you purely concerned about blackhats finding values via memory analysis?
 
12:54 PM
@ThunderFrame You got it all correct. No way to step the code but you can call public methods. Hmm. Does that means predeclared instance leak their private member?
@ThunderFrame Yes. The original scenario was to securely store a password because ADO is stupid.
 
@Kapol Are you running with admin privileges?
You should not.
 
@M.Doerner the error would be different if it's issue with admin lacking the necessary COM registration.
 
@M.Doerner Cleaning and building didn't help. What shouldn't be run as admin? Excel?
 
The build process is set up to do the registration on a by user basis, now.
Accordingly, the registration values are no longer present in the registry hive used by the admin user.
So, the registry for the admin user probably does not know about the GUID of the inspections tool window.
 
If that were the case, the addin wouldn't even start. You'd get an error about being unable to load a missing extension.
 
1:01 PM
Well, if an old registration was still present.
I think, some time back, there was a cleanup of some GUIDs.
 
Well, the deployment project automatically cleans the previous version's registration. Furthermore, the registration are present - it is simply that the security policy does not permit use of HKCU from an admin process.
 
I can confirm that there is this exception when loading RD in an eleveated Excel instance.
 
so even though the registry keys are all in their place, you will not be able to load the addin; you get a message from the host saying unable to load missing extension.
Hmm. My understanding is that you wouldn't be even be able to load it at all.
 
Nope
 
Wow.
 
1:05 PM
RD is loading, but I get an exception when CW tries to open the tool windows.
 
@this just tried with a locked XLSM (not quite the same as an MDE), but while UserForms.Count returns 0, the predeclared UserForm1 has a public and a private function. Both are callable from the immediate window
 
Hmm. I just checked and I only get this:
---------------------------
Microsoft Visual Basic for Applications
---------------------------
'Rubberduck' could not be loaded.

Remove it from the list of available Add-Ins?
---------------------------
Yes   No   Help
---------------------------
 
@this Which version of Windows are you on?
 
Windows 7
 
I am on Win10
Might work differently, here.
 
1:10 PM
AIUI, the security policy has been in effect since Windows Vista and hasn't changed.
 
Oh, and I am local admin.
 
hmm. Yes, I've heard strange reports with admin account. For some it works, for other it doesn't.
@Kapol just to be sure -- are you running VS as admin?
@ThunderFrame Confirmed. So yes, predeclared instances or publicly accessible instances are leaky.
 
I get the exception from a non-admin build on an elevated Excel instance.
 
Correct. Running VS as admin and using F5 would cause that problem, too.
 
Uh, not sure if related, but I can't debug RD either today :-(
 
1:15 PM
@mansellan are you able to run ?
 
@this I was running VS as admin, but after opening it as non-admin and doing clean+build the same error occurs
I am not sure what "elevated Excel instance" means
 
Not properly.. Had it kinda running earlier, based on the release install kicking things off.
 
@Kapol simply running it as an administrator, just as if you did Run As Administrator
Running VS as admin and F5'ing would cause the Excel to likewise run as an admin.
 
not found a way to get VS running as non-admin on win10
 
@this here's a predeclared class in a locked project, named Class1:
Option Explicit

Private DV As DataVault

Private Sub class_initialize()
  Set DV = New DataVault
  DV.WriteData "foo"
End Sub
 
1:17 PM
not synced in a while, but I had a forced windows update install this morning
 
@this In Immediate Window, I get these results:
Class1.DV.ReadData t
?t
foo
 
gonna try registering the addin again manually
 
Granted, I have to guess the DataVault instance name, but IIUC, the TypeLib for the project will expose that.
@WaynePhillipsEA The TypeLib exposes the Private member names for a module?
 
@ThunderFrame in my test didn't even have to be predeclared. a private property on a standard module will expose it too.
@ThunderFrame Yes, it does
 
@mansellan What do you mean by registering it manually?
 
1:22 PM
@mansellan I'm still not clear what exactly happens on your end. RD starts up, but won't debug or what?
 
@M.Doerner HKCU/SOFTWARE/Microsoft/VisualBasic/6.0/Addins/Rubberduck.Extension
 
so, I suppose my question is this. DataVault isn't of much use as a module level variable. It might be useful as a procedure level variable, static or otherwise, but it's arguably no safer than a normal procedure level variable, aside from the ability to inspect memory?
 
Oh, adding the extension reference in the registry, not running ragsm. OK.
 
"Rubberduck could not be loaded. Remove it from blah..."
 
@ThunderFrame I think it's more broad than that. If you have anything you want to keep private, you must use static variables to hide the access from the immediate window.
@mansellan and you said you cannot run VS non-admin?
 
1:24 PM
never found a way to do that in win10
 
I do it all the time.
 
seems to ignore the relevant properties
oh?
hmm, lemme retry that then
 
@this OK, so I tried running VS as both as admin and non-admin, clean the solution and debug with F5 (normally I open an Excel file and then attach the debugger manually). Same error in both cases.
 
@this right, so what does DataVault add?
 
Did you change your shortcut at some point to always load as admin?
 
1:25 PM
checking
 
@Kapol Right. Attaching to process does not have the problem with admin privileges which is why it wasn't a concern for you. F5'ing would have been a problem. I just want to make 1000% sure -- are you starting from Rubberduck.Deployment project?
 
so i checked the actual devenv.exe.. the icon itself has an admin badge, and properties don't have any option for admin or otherwise. double-clicking it brings up UAC.
 
@ThunderFrame memory protection of the content, basically. That was the whole point when I originally wrote the class. In that context, the BaseAddress shouldn't be leaked outside the consuming class' use. But to secure the access to the string that's WriteData/ReadData, you have to take steps to ensure that the private instance itself isn't leaked, too.
 
@this Ooops!
I was starting from Main
and Deployment was unloaded, because I remember having build problems
 
@ThunderFrame From I can see, the only way to shut everything up is to have something like this:
Public Sub Main()
    Static IsRunning As Boolean
    Dim TheRootOfEverything As RootClass

    TheRootOfEverything.Start

End Sub
 
1:31 PM
I reloaded the project and set it as start-up, but I can't build the solution anymore
The command "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\PreInnoSetupConfiguration.ps1 -WorkingDir C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\" exited with code 1. Rubberduck.Deployment
 
@this The BaseAddress is only sensitive because it would reveal the string data in memory, but because the ReadData and WriteData already jeopardise the data, the security of BaseAddress is moot, if the DataVault instance isn't secure?
 
I think with that, everything that TheRootOfEverything owns/creates can't be accessed but have to test. That implies having a loop, too.
 
now let me run as non-admin
 
@Kapol can you check your build output and see the actual error there?
 
@this I think you're right, procedure level variables are safe.
 
1:34 PM
@ThunderFrame which implies that the consuming class has to use it as a static procedure level. Or all consuming classes must be composed from the hypothecial TheRootOfEverything class.
That's why I see it as much more bigger problem than what DataVault was aiming to do.
 
@this where can I find the error exactly?
 
on the Output tab?
make sure the dropdown is set to Build
and you'll see a detailed output for all projects' building, including the actual powershell error that Error list won't show you.
(I really really wish I could figure a way to get it up there in the error list... :( )
 
C:\Users\Radek\Documents\Visual : The term 'C:\Users\Radek\Documents\Visual' is not recognized as the name of a cmdlet,
9> function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the
9> path is correct and try again.
9> At line:1 char:1
9> + C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubbe ...
9> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9> + CategoryInfo : ObjectNotFound: (C:\Users\Radek\Documents\Visual:String) [], CommandNotFoundException
looks like a space error:)
 
hmm.
 
because the directory is Visual Studio 2017
my guess would be that some string is not wrapped in parenthesis, but it's awkward that this happens only to ome
to me*
 
1:38 PM
yeah I was thinking the same thing
if it was that simple, everyone else would have screamed at me already
ok in deployment's build events
you have both pre and post event
in pre, we have C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "$(ProjectDir)PreInnoSetupConfiguration.ps1 -WorkingDir $(ProjectDir)
change it to C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "$(ProjectDir)PreInnoSetupConfiguration.ps1 -WorkingDir '$(ProjectDir)'
 
nope
same thing
 
@PeterMTaylor @IvenBach Here's the gif - some descriptions are a little short, but this is just a proof of concept for HTML - AvalonEdit would work slightly differently.
 
error MSB3073: The command "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -command "C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\PreInnoSetupConfiguration.ps1 -WorkingDir 'C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\'" exited with code 1.
the quotes in the pre-build event don't matter
maybe it's something inside the PowerShell script itself?
 
check the error in output tab - error list isn't giving us the full error info
 
I just copied this to show you that the paths are resolved correctly
I also got the same error as previously
 
1:45 PM
yeah i see it now
hm
@Kapol ok, let's try and invoke it from powershell manually - I want to see what it does
so open a powershell up
 
yup
 
and put in $(ProjectDir)PreInnoSetupConfiguration.ps1 -WorkingDir '$(ProjectDir)', replacing the $(ProjectDir) with `C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment`
(you may have to first do Set-ExecutionPolicy -Bypass before you run the command above)
 
not sure if its relevant, but from the Modules window it looks like it's running the installed version of RD not my debug build:
 
looks like it, @mansellan. Uninstall the build.
 
tried that, get the "RD cannot be loaded" error...
 
1:51 PM
Ok, and you're still running VS as admin?
 
yeah, haven't found how not to yet
fml
 
Ok - for now, clean and rebuild the solution
then see if you can open Excel or whatever and attach the VS debugger to it.
 
@this Not that I know of - 64bit build here.
 
Wow, I just got a perfectly clean shutdown of RD in the debugger after parsing a small Excel file.
 
I',m not sure how I should format the command
"C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\PreInnoSetupConfiguration.ps1 -WorkingDir \"C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\""
 
1:54 PM
I never had that before.
There was always at least one AV.
 
might be that the fix to the COm collector did that?
 
I mean, the path contains spaces and the path is also in the parameter
 
Not really.
I already got that one AV before the regression bug was ever introduced.
 
@Kapol 'C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\PreInnoSetupConfiguration.ps1' -WorkingDir 'C:\Users\Radek\Documents\Visual Studio 2015\Projects\Rubberduck\Rubberduck.Deployment\'
powershell and cmd quote things differently. #Fun
 
@this ok done. loads excel with RD from \ProgramData\ , no symbols loaded
 
1:55 PM
Unexpected token '-WorkingDir' in expression or statement.
 
However, cleaning up the com handling in the VBENativeEvents probably had something to do with it.
 
hm, thought that was still pending
 
uninstall RD and try again?
 
@mansellan didn't you uninstall the install version of RD?
If not, then yes.
 
not this time around i didn't. trying now.
 
1:57 PM
@Kapol FWIW I had to change the path of my dotnet directory to the short version before I ran VS updates: `C:\Progra~1\dotnet`
 
I already did quite some cleanup in there in the GetX methods.
 
Although it works with the expanded version now.
 
OK I can attach to non-elevated Excel
 
00:00 - 14:0014:00 - 00:00

« first day (1500 days earlier)      last day (1680 days later) »