« first day (318 days earlier)      last day (2862 days later) » 
00:00 - 11:0013:00 - 00:00

00:00
@Rossco you're running the 32-bit or 64-bit build?
I'm running 32 bit 2013 with 1.3 installed.
the 32-bit install should be clean
ok, cool. When I get a chance I'll see if I can get debug mode happening.
@Mat'sMug Ever review my changes?
not yet
8 mins ago, by Mat's Mug
I have - if I counted them correctly - 238 keys under HKLM/SOFTWARE/Classes/CLSID/{29FB0A0E-F113-458F-823B-1CD1B60D2CA7}
00:03
OK.
Busy cleaning the registry, I see.
Supper is on.
@Mat'sMug How about
later!
var project = vbe.VBProjects.Cast<VBProject>()
                        .FirstOrDefault(p => p.Protection != vbext_ProjectProtection.vbext_pp_locked && p.Equals(selection.QualifiedName.Project));
^^ that
and fixed.
awesome.
00:05
IIRC there wasn't a .Project member to the QualifiedModuleName type yet when that one was first written
Yeah its interesting how the design tends to fall out when you work on a software project.
Perhaps the project should be available on the selection object? as QualifiedName doesn't really make semantic sense when I look at it.
there's a QualifiedSelection object that should have it
Selection is just a struct originally meant to get the selection from the IDE
QualifiedSelection is meant to set the selection in the IDE
cool, catch you later.
later!
BTW you just planted a seed there
@Mat'sMug huh?
00:10
about the QualifiedModuleName
there's a lot of performance-penalty junk in there, used for tracking whether a module has been modified or not
cool.
the key listener should clean that up
So, @Mat'sMug I've only been half here today and it's been a bit chaotic. What do you need me to do buddy? I've got some time.
well I'm still scrubbing
can you verify the x86 installer and fix whatever I messed up?
Yeah. Yeah. I can do that. master branch?
00:21
yep
Cool. You got it man.
oh make sure you fix the above, too
I changed it in my version, but I'm reverting all uncommitted changes on my end
18 mins ago, by Rossco
var project = vbe.VBProjects.Cast<VBProject>()
                        .FirstOrDefault(p => p.Protection != vbext_ProjectProtection.vbext_pp_locked && p.Equals(selection.QualifiedName.Project));
^^ reference-equality against the project instance
Hmm... I thought that was a CodePane extension. Where'd you find that snippet @Rossco?
VbeExtensions.cs - line 58
Ctrl+T "SetSelection" ;)
@RubberDuck while you're there - can you also fix the renaming of UserForm control?
it's a dumb bug
Sure. Why not?
00:32
in the RenameControl() method, there's a foreach (var handler in _declarations.FindEventHandlers(_view.Target)) loop
var newMemberName = _view.Target.ComponentName + '_' + _view.NewName;
^^ there's the bug
@Mat'sMug Ever seen a clever one?
The cleverest bug I've ever seen was so dumb it was amazing it worked (of course it was mine...).
debugging is at least twice as hard as writing code. Write dumb code if you want dumb bugs
2
Booting my laptop just to star that.
@Mat'sMug I don't understand how that's a bug, but I'll check it out.
I'm looking at making it work for Outlook.
@RubberDuck the target's ComponentName is the name of the module - in that case a UserForm, so that's renaming ControlButton1_Click to MyForm_TheNewName
you need to replace the _view.Target.IdentifierName + '_' in the signature with _view.NewName + '_'
00:40
@Hosch250 Everything except unit testing should work already. I think.
@RubberDuck It doesn't work at all, actually.
I read somewhere that Outlook doesn't support the VBE API
Outlook doesn't support the Application.Run() call.
Oh.
So, I guess I won't.
Pulling 114 commits
nice
@Hosch250 thing is, if you're in Outlook's VBE and you're seeing a Rubberduck menu, there is a VBE API that works.
try code inspections
and refactor/rename
00:42
Something is very weird here.
@Mat'sMug Not sure what you mean.
public override void Run(string projectName, string moduleName, string methodName)
{
    //Outlook does not support the run method.
    throw new NotImplementedException("Unit Testing not supported for Outlook");
}
What's this "Project Items" folder?
@Hosch250 forget about Application.Run in Outlook, not gonna happen ;)
but everything else should work
Also, how can I test it if it doesn't work on my machine?
I know. I'm looking at a couple different things.
00:45
@RubberDuck probably a relic of when I accidentally committed the performance profiling reports along with the solution
it can be ignored
@RubberDuck you get the rename bug?
I'm ready to test a couple things, but how can I do it if it doesn't work on my machine?
Working on it. The dog wants to type with his face.
lol
@Hosch250 what's not working?
Rubberduck!
Oh, wait, I need to run it, not just build it.
sorry to ask again, but you're 64-bit Office 2010 right?
00:49
Yeah.
same setup as mine. I should remember now.
well I've been building and manually registering the debug builds up until now... but I wouldn't recommend that approach now.
when I was on a 32-bit setup I simply added EXCEL.EXE in the project properties/debug/launch external program, and I could F5-debug RD
it worked on a 64-bit setup as well for a while. Then I borked something.
could be just on my machine though
did you try just starting EXCEL on debug and F5?
Yeah, it isn't loading though.
It isn't anywhere to be found.
ok yeah so you have the keys under wow6432node
still want your mug? ;)
Sure, but I don't think I earned it.
No, I uninstalled the app, and it can't even see it anymore.
Even though I'm running it from VS, I can't find it in the VBE.
same here, except I can't even start the VBE anymore
00:56
Bah.
it says "add in couldn't be loaded" right?
It doesn't say anything.
It just isn't.
is it in the add-ins manager?
00:57
I'm running it as Debug64.
Nope.
and you have the Rubberduck.Extension key under Addins64?
Checking.
I've been building with the "Debug" config
Lol, I found a key named BugSplat.
VS just crashed.
01:00
this is the darkest weekend RD has ever seen.
And we've seen some dark days.
Oooh...
Something's borked, and I have no clue what.
I don't have a VBE key in the VBA key!
I think Hosch just found something
well that would fix something
01:01
VBA/7.1/Commen/Toolbas/Settings is all I have!
@Hosch250 I want to star that, but... it makes me ;(
I'm going to reinstall the blooming thing.
I think the project is cursed.
whenever you don't see RD in the addins manager, something's up under the VBA key
We need to BREAK THE CURSE!
I blame Installshield.
01:02
whenever you do see RD in the addins manager but it won't load, something's up with registration
because reasons
I want the good old 2010 VS installer project. damn you Microsoft, why did that have to be dropped?
I'm in the "8D"'s
Lol.
Dude. I'm getting errors just loading the VBE.
I don't have the VBE.
Rubberduck is reinstalled...
01:05
ugh
Oh, yes I do.
So, the Code Explorer is parsing on launch. Okay.
Yeah, it is here now.
@RubberDuck if you can fix that one as well....
I'm in the 90's
Almost done!
So, I borked something.
So, yes, now it won't work.
01:10
Da fuq
> System.Reflection.TargetInvocationException was unhandled
Message: An unhandled exception of type 'System.Reflection.TargetInvocationException' occurred in mscorlib.dll
Additional information: Exception has been thrown by the target of an invocation.
Crashed so hard Excel went down.
So, I don't have the _About or the _SettingsDialog anymore.
Curious.
I don't have it in either the Wow or the other place.
@Mat'sMug Sorry to bug, but what is the regasm command again?
I'll have to look again tomorrow. Too burnt out to comprehend this right now.
@Hosch250 c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe "path to rubberduck.dll" /codebase /tlb
01:19
Thanks.
So, what is the path to the .dll?
Would it be in the Release64 folder with the .tlb?
Still crashed...
@Hosch250 if you're building the Debug64 config, it would be under bin/Debug64...
Okay. It's running again. I think.
VBE can't find it unless it is installed, and when it is installed, it doesn't work.
I'll wipe my computer after the semester, and come back then, I guess...
I don't have the VBE key unless it is installed, but I suppose I can add that back manually.
01:31
It's my workbook I think.
you need to add it manually
Tired. Will resume im the a.m.
'night!!
Night.
I wonder...
> Who's been digging lizard holes out here in the desert!
@Hosch250 the VBE key is manual - the installer puts it there, and removes it if you uninstall
01:34
Oh, OK.
So, why isn't going in there in debug mode?
because that key has nothing to do with registering the assembly
wow I just wiped 5 consecutive GUIDs
5 in a row that were RD's
Why don't you just leave them there?
I suppose you are almost done now.
almost
well because my VBE is crashing and I want to eliminate RD from my system right now, to see if I can fix it ;)
I didn't think there would be so many keys.. I must have deleted close to 1000 by now
I'm going to write a scrubber for next time that happens
(And put it up on CR)
Good idea.
01:50
C's
D's
@Hosch250 you know what would be great? that the RD GUIDs all started with the same sequence of characters ;)
It would.
"00RUBBER-..."?
"R" isn't a valid hex digit...
Oh, those are hex digits...
yup
one thing we did right, was putting "Rubberduck" in all ProgId's.
Yup.
Updated my SQL query:
Not going to post another question, though.
02:06
E's
F's at last!
CLSID scrub completed
ooh now I'm discovering registry keys I never suspected
oh crap
starting over under the wow6432node
#FML
oddly the wow key is much cleaner
\Interface has a key for IRubberduckParser
another for _RubberduckMenu
ooh the search is taking a long long long while now
I think I'm done scrubbing HKLM
I.. think Rubberduck is gone from my registry now
YESS!! VBE WORKS AGAIN!!
03:00
@Hosch250 you have a real name or I'm adding "Hosch250" to the about box?
03:12
@Mat'sMug I have a real name.
But, I'm found all over the internet as Hosch250.
Hosch250 it is then!
Thanks, but I haven't done much at all!
more than some other names in that list
Well, I guess I did find a crucial clue in debugging this problem - the Wow6432Node thing.
OK.
03:39
@Mat'sMug:
For your shirt.
@RubberDuck are you sure the project isn't supposed to register for COM interop? every single tag has that checkbox checked...
Same problem we have, no solution.
it's simple. COM cannot be registered under the x64 hive.
COM is 32-bit.
I'm sure it's that
03:48
I mean, there isn't a solution in the thread.
I know
So, what can we do?
Uncheck the Register for COM box?
What would happen then?
I had it unchecked. checking it. hold on.
hmm nothing changes
searching registry...
it built but didn't register anything.
no wonder VBE still can't find the addin
Lol.
> But if you have an assembly marked with vsdraCOM for registration the resulting component does NOT have the 64-bit setting (the msidbComponentAttributes64bit is not set) so you get registration in the 32-bit registry.
If you guys are really hating the installer then you could consider using Inno Script instead. The upside is that everything is in a single text file and can be chained into the post build event for VS. I know I've suggested this before.
Unfortunately, I've lost access to a script that would have been very useful to you.
04:03
I was using that at my old job to build a VB6 DLL
How did you find it?
I think VS2010 Installer project was unrivaled
Its way better than NSIS IMO
yeah that InstallShield LE thing is the most horrible thing I've ever worked with
@Mat'sMug Mmmmm, it does look complicated.
04:06
It is simple enough to set up, but it just doesn't register it.
We aren't the only ones with this problem, but I haven't seen any solutions yet.
41
A: Windows 64-bit registry v.s. 32-bit registry

17 of 26I ran into this issue not long ago. The short answer is that if you run a 32 bit application on a 64 bit machine then it's registry keys are located under a Wow6432Node. For example, let's say you have an application that stores its registry information under: HKEY_LOCAL_MACHINE\SOFTWARE\Compa...

@Mat'sMug Could we change it so it could register in either?
IDK.. right now it's not registering anywhere for me
A 32 bit binary will work on both platforms, but if you specifically want to offer a 64 bit version of your binary then yes, you need to build one for each platform. — 17 of 26 May 17 '09 at 16:33
well....
04:29
looks like I should be using regsvr32.exe (64?) instead of regasm.exe
Looks cool.
How many of the build configs are actually used?
There are quite a number.
Including obsolete ones like CDROM
DVD5
I don't know.
I'm sick of my app.
I'm going to write a bunch of tutorials, get this release out, and open source it.
I think all we need is Debug, Debug64, Release, Release64.
I want to write a new one and learn more.
04:42
@Mat'sMug I was hoping that was the answer.
Well I was surprised to see them all and was hoping they were created automatically by the installer projects
they were
tells you how much of a crapware ISLE is
Yeah its annoying when tools add heaps of schlock when you use them.
So it appears that both configs are set to create AnyCPU binaries. Is that correct?
04:53
Its just the registration of the CLSIDs that differs?
I think so
I love that confidence ;-)
I'm confused as hell about this whole crap
32-bit office on x64 works like a charm with 32-bit installer
I reckon that the configuration of stuff like this takes about 50% of your time (mainly because you have no idea what is happening).
I wish I had a MSDN subscription with a separate desktop and 4-5 virtual machines to test all kinds of setups
04:55
@Mat'sMug That's what I run. I learnt the hard way that 64ibt office is a pig
So when I upgraded to 2013 I made sure I got 32 bit.
I had 32-bit Office installed and everything worked like heaven. Then we started getting GitHub issues about RD not working on 64-bit office
@Mat'sMug lol
so I uninstalled my Office and reinstalled 64-bit.
and problems started.
05:02
I saw in the documentation that you need to create the directory %appdata%\Rubberduck. Does the installer create that? Why can't RD create that directory by itself like other apps normally do?
Darn, past midnight again :(
I'm pretty sure the installer creates it
otherwise we'd be getting much more bitching about RD crashing at startup ;)
05:20
ok I'm starting to have some hope here
I added regasm.exe $(targetpath) /unregister to prebuild, and regasm.exe $(targetpath) /codebase to postbuild - the postbuild is somehow not working, but if I run it manually then RD loads in Excel, which is a good sign - I'm about to get my debug build fixed.
done
I have a working debug build that launches Excel from VS with the process attached!
at fucking last
and the key to not creating hundreds of registry keys, is the prebuild /unregister step.
since the x86 / 32-bit debug build seems to "just work", I only added these steps to the debug64 config.
committing.
pushed to master.
oooookay ...now VBE/Excel just closes (crashes) on load when it's parsing code. I'm annoyed.
confirmed - it's the Code Explorer crashing it.
that doesn't make any sense
no, it's not the Code Explorer
wtf
"Excel has stopped working"
ah
well look at that
component.Name is null
oh it's a msForm
@RubberDuck and now I got a repro on the System.Reflection exception you had earlier. But it's an AccessViolation that's shutting down Excel
and we're not catching the AccessViolationException:
        catch (COMException exception)
        {
            return null;
        }
damn
        catch (Exception exception) // temp fix (cough)
        {
            return null;
        }
nope. not cutting it.
I'll look at that tomorrow. Committing for now, I've fixed the rename bug for form controls
fizzbuzz.xlsm loads fine
I bet it has to do with forms
don't ask why
way past TTGTB here.
Anyway Chris when you read this you can pull master knowing the rename bug is fixed, so if you manage to figure out that access violation you should be good to go with a 3.01 x86 release
Oh and the SetSelection bug is fixed too
 
2 hours later…
07:43
0
Q: From VBA to R: what can I use in R that does the same as ReDim in VBA?

Husky653I am currently working with the explicit finite difference method and I have a code for this method. The code is written in VBA and now our teacher wants us to write the code so that we can use it in R. I am new to programming so I have a couple of problems. In the VBA code they use the functio...

 
1 hour later…
08:46
@msdev excluding installers for x64 COM interop, yes!
Yesterday's release was a "little bit" rushed. I messed up, apologies. 1.31 coming as soon as we get it right. Shouldn't be too long.
09:04
@Rossco that is for dev environ. The installer creates it.
09:19
@RubberDuck Yeah, I wanted to know because I'm having a go at making an installer script using Inno Setup.
Its just weird because I would have not expected that it would need to be created at all. But I can't be bothered substantiating that claim.
09:43
That directory is hardcoded to hold the config file.
I think I might have set it up to create it if it doesn't exist after the fact, but I can't recall.
09:57
I wish I hadn't lost my previous code, I had a working script for Inno Setup to handle 64 bit/32 bit registration.
@Rossco I think we might look at WiX very soon.
Oh but I nearly have finished it :-(
I've looked into it a bit, and it seems to be a very flexible solution.
No arguments man! Didn't realize you were working on it.
;-)
Hmm...... errors are magically gone, but so is the rename refactoring.
10:11
can't have one without the other it seems.
@RubberDuck I'm working on this script and I want to make a single installer to install both versions - since they are both compiled as AnyCPU. Just the registration differs. So I want to determine the bitness of Office. Is it possible that someone can have two different bitnesses of Office on the same machine? Do we want to let the user override the chosen bitness (radio button)? Other questions go here.
I actually think you can have two different bitness of office installed. It's recommended to register for 32 and 64 when you run 64 office.
Problem is, libgit2 has two different *.dlls. One for 32 and one for 64.
Yip I saw that, so multiple registration isn't going to work.
So the installer should only put the correct version in the installation dir.
So you can probably 'register' your type libs but it will break if you try to use the wrong bitness.
No. Needs to be a build step so it works in dev mode too.
10:24
Yeah dev mode is different, mainly because you probably want to run the files from the build directory and not install them to Program Files...
So really the installers are different from dev mode.
Or we are talking about two different things...
The build step puts the correct libgit2 file into the primary output root so the installer doesn't need to know.
OK I'm paying more attention to what you are saying now. I see what you mean.
I was looking at the libraries in the sub folders.
Right. So, the installer can't find them there. Everything has to be in the root. So, the build step copies the right one into the dir.
Not sure if that could change or not.
Right now I'm trying to figure out where the hell my .tlb file went.
So does LibGit2Sharp.dll change with the bitness of the compilation or is it compiled as AnyCPU too? Or is it that the installer needs to copy the correct version of git2-exxxxx.dll to the parent folder for debugging from VS? Because I'm not too concerned with the latter right now.
I can make the installer choose one of the git2-exxxxx.dll files to copy to the installation dir (I obviously can't do both).
I think I only did it for the installer.
But it's kind of moot. You don't have to pick. Just grab everything in that folder. The build copies it all ready.
Or it used to.....
if $(ConfigurationName) == Debug64 (
c:\windows\microsoft.net\framework64\v4.0.30319\regasm.exe $(TargetPath) /unregister
)
10:48
No worries, I think I'll sleep on it right now. I probably should aim for simpler at this stage to see if you guys like the approach or not.
@Mat'sMug I'm out of time here, but if with the "register for com interop" button on the "Build" property page unchecked, it runs for me, but (obviously) doesn't register the newest version of the assembly.
If I check it, I get the crazy reflection error when I try to debug.
No clue what's going on here.
@RubberDuck Yeah I was going to say, I don't think that option is good under any circumstance...
Gotta go.
@Rossco Why? All it does is run regasm on the local dev machine.
This is the one you don't want set to true.
@Rossco No. I had to uninstall to switch to x64
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
00:00 - 11:0013:00 - 00:00

« first day (318 days earlier)      last day (2862 days later) »