Toon posts:

[VB.net] SharpShell DeskBand gaat fout bij registratie

Pagina: 1
Acties:

Onderwerpen

Vraag


  • Damic
  • Registratie: September 2003
  • Laatst online: 06:49
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]

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: 06:49
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)

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: 06:49
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]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Damic
  • Registratie: September 2003
  • Laatst online: 06:49
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]

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • RobIII
  • Registratie: December 2001
  • Laatst online: 13:58

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: 27-09 22:53

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: 06:49
@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.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


  • Snake
  • Registratie: Juli 2005
  • Laatst online: 27-09 22:53

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: 06:49
@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 :/

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag

Pagina: 1



Google Pixel 7 Sony WH-1000XM5 Apple iPhone 14 Samsung Galaxy Watch5, 44mm Sonic Frontiers Samsung Galaxy Z Fold4 Insta360 X3 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 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee