Cookies op Tweakers

Tweakers is onderdeel van DPG Media en maakt gebruik van cookies, JavaScript en vergelijkbare technologie om je onder andere een optimale gebruikerservaring te bieden. Ook kan Tweakers hierdoor het gedrag van bezoekers vastleggen en analyseren. Door gebruik te maken van deze website, of door op 'Cookies accepteren' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt? Bekijk dan ons cookiebeleid.

Meer informatie
Toon posts:

[VB.net] SharpShell DeskBand gaat fout bij registratie

Pagina: 1
Acties:

Onderwerpen

Vraag


  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
Mijn vraag
Voor mijn programma *snip* irrelevante link probeer ik Deskband toetevoegen via Sharpshell, maar nu loop ik tegen het probleem aan dat ik mijn dll niet kan registreren.

Relevante software en hardware die ik gebruik: Visual Studio 2019 Community

Wat ik al gevonden of geprobeerd heb:
Ik krijg volgende foutmelding als ik probeer te registreren/installeren, maar daar word ik niet wijzer van, iets gaat er mis en daar moet ik het mee doen :(


Er word ook geen log weggeschreven dus veel meer weet ik zelf niet.

Dit is de code van de main class
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Imports System.ComponentModel
Imports System.Runtime.InteropServices
Imports System.Windows.Forms
Imports System.Drawing
Imports SharpShell.SharpDeskBand

<ComVisible(True)>
<DisplayName("Tray Streamer Toolbar")>
Public Class TrayStreamerDeskBandClass
    Inherits SharpDeskBand

    'Private DeskBandForm As New TrayStreamerDeskBandUi
    'Private _Loaded As Boolean = False
    Protected Overrides Function CreateDeskBand() As UserControl
        'Return DeskBandForm
        Return New TrayStreamerDeskBandUi
    End Function

    Protected Overrides Function GetBandOptions() As BandOptions
        Return New BandOptions With {
        .Title = "Tray Streamer",
        .HasVariableHeight = True,
        .IsSunken = False,
        .ShowTitle = True,
        .UseBackgroundColour = True,
        .AlwaysShowGripper = False,
        .HasChevron = False,
        .HasNoMargins = False,
        .IsFixed = False,
        .IsUndeletable = False
    }
        ',.VerticalSizingIncrement=
    End Function
End Class

* omdat ik data naar de usercontrol moet sturen heb ik wat een klooien geweest met sub's en functies, nu staat alles in het usercontrol. Ik weet alleen niet of het werkt.

Iemand dat misschien een idee heeft?

[Voor 1% gewijzigd door RobIII op 13-07-2020 19:06]

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag

Alle reacties


  • YakuzA
  • Registratie: maart 2001
  • Nu online

YakuzA

Wat denk je nou zelluf hey :X

Het handige is dat de code gewoon ernaast op de github staat, zodat je daar kan zien wat hij mist waardoor de nullpointer gegooid wordt.

Evt kun je ook de code van github pakken en zelf de debugger eraan hangen vanuit VS :)

Death smiles upon us all, all a man can do is smile back.
PSN


  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
Dat is waar ben nu zelf een beetje aan't zoeken en blijkbaar vind SharpShell het niet leuk als je Target CPU op X64 zet, dan krijg je dus bovenstaande melding als ik die naar Anycpu of X86 zet dan krijg ik het volgende
C:\>srm install "C:\Users\Pruttel\source\repos\ClassLibrary1\bin\Debug\ClassLibrary1.dll" -codebase

========================================
SharpShell - Server Registration Manager
========================================


Unhandled Exception: System.ComponentModel.Composition.CompositionContractMismatchException: Cannot cast the underlying exported value of type 'SharpShell.SharpShellServer (ContractName="SharpShell.ISharpShellServer")' to type 'SharpShell.ISharpShellServer'.
at System.ComponentModel.Composition.ExportServices.CastExportedValue[T](ICompositionElement element, Object exportedValue)
at System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
at System.ComponentModel.Composition.ExportServices.<>c__DisplayClass12_0`1.<CreateStronglyTypedLazyOfT>b__1()
at System.Lazy`1.CreateValue()
at System.Lazy`1.LazyInitValue()
at System.Lazy`1.get_Value()
at ServerRegistrationManager.Application.<LoadServerTypes>b__2(Lazy`1 st)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at ServerRegistrationManager.Application.InstallServer(String path, RegistrationType registrationType, Boolean codeBase)
at ServerRegistrationManager.Application.Run(String[] args)
at ServerRegistrationManager.Program.Main(String[] args)
Straks verder bekijken, nu eerst wat aanwezig gaan zijn werken 8)

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • +1Henk 'm!

  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
Gevonden wat het is. Ik was de -os64 switch "vergeten", de tekst is niet geheel duidelijk:
If you are using srm, the bitness will be assumed based on the bitness of the calling program. You can also enforce a specific bitness with the -os32 or -os64 flags:
srm install -os32
Dus mijn volledige is dan:
D:\server\MyProjects\mine\Tray Stream v2\bin\Debug>srm install "D:\server\MyProjects\mine\Tray Stream v2\bin\Debug\TrayStreamerDeskBand.dll" -codebase -os64

========================================
SharpShell - Server Registration Manager
========================================

Preparing to install (OS64Bit): Tray Streamer Toolbar
Tray Streamer Toolbar installed and registered.
Nu uitzoeken waarom ik mijn toolbar niet kan selecteren :/

[Voor 4% gewijzigd door Damic op 18-07-2020 10:54]

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
Goed, nu dat de toolbar mooi registreert zou het fijn zijn als deze ook te gebruiken is.

Mijn batch bestand dat ik gebruik:
Batchfile:
1
2
3
4
5
6
7
SET mypath=%~dp0

pushd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64"
gacutil -i "%mypath%ClassLibrary2.dll"
Pushd %mypath%
srm install "%mypath%ClassLibrary2.dll" -os64
pause


Als ik dit uitvoer als admin krijg je dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
C:\Windows\system32>SET mypath=C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug\

C:\Windows\system32>pushd "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64"

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64>gacutil -i "C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug\ClassLibrary2.dll"
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.0
Copyright (c) Microsoft Corporation.  All rights reserved.

Assembly successfully added to the cache

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64>Pushd C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug\

C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug>srm install "C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug\ClassLibrary2.dll" -os64

========================================
SharpShell - Server Registration Manager
========================================

Preparing to install (OS64Bit): Web Search
    Web Search installed and registered.

C:\Users\Pruttel\source\repos\ClassLibrary2\bin\Debug>pause
Press any key to continue . . .


Dus alles word gedaan maar ik zien niets verschijnen tussen de toolbars van de startbalk :/

De help van SharpShell: https://github.com/dwmker.../installing/installing.md

[Voor 6% gewijzigd door Damic op 25-07-2020 19:36]

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • RobIII
  • Registratie: december 2001
  • Laatst online: 14:17

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Kolere. Ik ken het hele ding niet maar als ik zó veel moeite moest doen voor een toolbar dan ging ik op zoek naar een alternatief. Wat maakt 't ding zo bijzonder? Zijn er geen alternatieven?

Edit: teruglezend was dit niet mijn meest constructieve post ever - mijn excuus daarvoor. Echter; ik zie ook nog steeds niet waarom je per sé iets zou willen gebruiken wat al sinds Windows 7 "out of fashion" is. Is er geen moderne manier (lees: ondersteunde methode) om toch je doel te bereiken? Wat is precies je doel en waarom moet 't per sé een deskband zijn? Is de toegevoegde waarde écht zo hoog?

[Voor 52% gewijzigd door RobIII op 26-07-2020 00:17]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Roses are red Violets are blue, Unexpected ‘{‘ on line 32.

Over mij


  • Snake
  • Registratie: juli 2005
  • Laatst online: 18-06 22:47

Snake

Los Angeles, CA, USA

YakuzA schreef op maandag 13 juli 2020 @ 22:39:
Het handige is dat de code gewoon ernaast op de github staat, zodat je daar kan zien wat hij mist waardoor de nullpointer gegooid wordt.

Evt kun je ook de code van github pakken en zelf de debugger eraan hangen vanuit VS :)
Dit ^.
Unhandled Exception: System.ComponentModel.Composition.CompositionContractMismatchException: Cannot cast the underlying exported value of type 'SharpShell.SharpShellServer (ContractName="SharpShell.ISharpShellServer")' to type 'SharpShell.ISharpShellServer'.
SRM zelf is open source, dwz dat je een debugger er kan aanhangen en kijken welke type ie wil hebben, en welke jij aanlevert.

En als je voorbeeldcode ECHT niet werkt zal ik de dev even persoonlijk aanspreken, is collega van mij.

Going for adventure, lots of sun and a convertible! | GMT-8


  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
@Snake die fout melding was omdat ik de -os64 switch was vergeten, ha dan moet ik eens een github account aanmaken :+

@RobIII dat is om een toolbar in je taakbalk tezetten zodoende dat je informatie kunt laten zien aan de gebruiken. In mijn geval gaat dat dus Stream radio naam en titel zijn.

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Snake
  • Registratie: juli 2005
  • Laatst online: 18-06 22:47

Snake

Los Angeles, CA, USA

Damic schreef op zaterdag 25 juli 2020 @ 21:22:
@Snake die fout melding was omdat ik de -os64 switch was vergeten, ha dan moet ik eens een github account aanmaken :+

@RobIII dat is om een toolbar in je taakbalk tezetten zodoende dat je informatie kunt laten zien aan de gebruiken. In mijn geval gaat dat dus Stream radio naam en titel zijn.
Zip de code, zet het op Google Drive, eender wat helpt ;-)

Going for adventure, lots of sun and a convertible! | GMT-8


  • Damic
  • Registratie: september 2003
  • Laatst online: 17:26

Damic

Afwezig soms

Topicstarter
@Snake heb ondertussen github account maar wegens het warme weer geen zin gehad om te zoeken :+

Nu heb ik gevonden dat er een Server manager is en deze toont ook mijn Deskband extensie alleen hoe kan ik die debuggen?


In de Troubleshoot staat niets over Deskband: https://github.com/dwmker...r/docs/troubleshooting.md (of ik lees erover).

Wat verder lezen, misschien zien ik over iets.

Wel grappig bij de installing.md staat er: " Make sure your server has a public default constructor" staat er good en bad bekijk mijn code

Visual Basic:
1
2
3
4
5
6
7
8
9
Namespace TrayStreamerDeskBand
    <ComVisible(True)>
    <DisplayName("Tray Streamer Toolbar")>
    Public Class TrayStreamerDeskBandCls
        Inherits SharpDeskBand

        Protected Overrides Function CreateDeskBand() As UserControl
            Return New TrayStreamerDeskBandUi
        End Function

maar dit is hetzelfde als het WebSearch voorbeeld :/

Ik kan vanalles en nog wat maar niets te goei, klinkt bekent?? Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag

Pagina: 1


Apple iPad Pro (2021) 11" Wi-Fi, 8GB ram Microsoft Xbox Series X LG CX Google Pixel 5a 5G Sony XH90 / XH92 Samsung Galaxy S21 5G Sony PlayStation 5 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2021 Hosting door True