Visual basic 2010 programma updater lukt niet via ftp

Status
Niet open voor verdere reacties.

codGmer

Gebruiker
Lid geworden
8 mei 2010
Berichten
649
hallo,

Ik heb een programma gemaakt en die wil ik laten controleren op updates als het opstart, alleen als ik via de tab publish dan updates mijn ftp server invul. Er stond geen error totdat ik op ok drukte en toen kreeg ik een error.

Publish.UpdateUrl:
the string must be a fully qualified URL or UNC path, for example "http://www.microsoft.com/myapplication" or "\\server\myapplication".

toen de wizard klaar was kwam deze url eruit:

ftp://cviewer.uphero.com/public_html


ik snap niet waarom hij die error geeft.


alvast bedankt:)
 
Je kunt het beter codematig doen. (Laat hem de server listen en als er een nieuwe versie is de keuze geven om te downloaden.) :thumb:
 
bedankt!:D het is een hele handige webhosting service

maar nu loop ik op het volgende probleem:

Ik heb een code gemaakt dat checkt voor updates
maar het probleem is dat ik me moet aanmelden maar ik weet niet hoe ik dat in de
code verwerk dus de username en password

Code:
Imports System.Net
Public Class Hviewer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim web As New WebClient
        Dim update As String = web.DownloadString("ftp://cviewer.uphero.com/public_html/cviewer/Cviewer.exe")
        If update.Contains(Application.ProductVersion) Then
            MsgBox("Er is een nieuwe update beschikbaar")
        Else
            MsgBox("Er is op dit moment geen nieuwe update beschikbaar")
        End If
    End Sub

ik hoop dat iemand kan helpen
bedankt.
 
Ik doe het altijd op een andere manier, zie deze thread

Dan heb je natuurlijk ook de code voor Download, Upload etc.
 
ok bedankt maar ik snap het niet helemaal want wat is rebex? een trial ?

Met Rebex bedoel ik DLL's (Rebex is het bedrijf). Dit zijn FTP-DLL's.
Je weet wat een DLL is?
 
Met Rebex bedoel ik DLL's (Rebex is het bedrijf). Dit zijn FTP-DLL's.
Je weet wat een DLL is?

nee, ik heb niet zoveel verstand van DLL's maar zijn het bestanden met een bibliotheek ofzoiets?
 
nee, ik heb niet zoveel verstand van DLL's maar zijn het bestanden met een bibliotheek ofzoiets?

Bijna goed :p.

Een DLL (Dynamic Linked Library) is een 'bibliotheek' met daarin functies opgeslagen. Als je zo'n DLL importeert, kun je de functies die erin staan gebruiken (mits ze toegankelijk zijn).

Je weet hoe je zo'n DLL moet importeren? Als je je e-mailadres geeft, dan wil ik ze best naar je sturen ;).
 
Je weet hoe je zo'n DLL moet importeren? Als je je e-mailadres geeft, dan wil ik ze best naar je sturen ;).

Het lijkt me niet verstandig mijn email adres hier te plaatsen, misschien kunt het in een rar bestand zetten en uploaden naar multiupload
en ik zou niet weten hoe ik de dll's doe importeren
 
Laatst bewerkt:
Hallo,

hoe moet ik de dll's dan importeren? want ik snap eigenlijk niet wat het programma rebex doet.
 
Laatst bewerkt:
Je klikt eerst op 'Add Reference'. (Reference.png) Je selecteert hier de 4 DLL's.

Dan zet je bovenaan je code:

Code:
Imports Rebex.Net
 
ok bedankt, volgens mij heb ik het gevonden:D

Code:
Imports Rebex.Net
Public Class Hviewer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim client As New Ftp
        client.Connect("cviewer.uphero.com")
        client.Login("a6162961", "wachtwoordhier")
        client.ChangeDirectory("/public_html/cviewer/")
        Dim list As FtpList = client.GetList()
        Dim item As FtpItem
        For Each item In list
            Console.Write(" {0}", item.Name)
            Dim update As String = ("Cviewer.exe")
            If update.Contains(Application.ProductVersion) Then
                MsgBox("Er is een nieuwe update beschikbaar")
            Else
                MsgBox("Er is op dit moment geen nieuwe update beschikbaar")
            End If
        Next item
        client.Disconnect()
    End Sub

Kan het kloppen dat dit werkt want als ik het programma start staat er er is nu geen nieuwe update beschikbaar.

ik heb het eens getest met een txt bestand en hij geeft deheletijd alleen maar aan dat er geen update beschikbaar is :( ik kom er niet uit
 
Laatst bewerkt:
Code:
    Dim client As New Ftp
        Try
            client.Connect("cviewer.uphero.com")
            client.Login("a6162961", "hierhetwachtwoord")
            client.ChangeDirectory("/public_html/cviewer/")
            Dim list As FtpList = client.GetList()
            Dim item As FtpItem
            For Each item In list

                If item.ToString = "CViewer_" & My.Application.Info.Version.Major + 1 & ".exe" Then
                    MsgBox("Er is een nieuwe update beschikbaar.")
                Else
                    MsgBox("Er is op dit moment geen nieuwe update beschikbaar")
                End If
            Next item
        Catch ex As Exception
            client.Disconnect()
            MsgBox("Er is een fout opgetreden: " & ex.Message, 16 + 4096, "Titel")
        Finally
            client.Disconnect()
        End Try

Dit is wat er gebeurt:

Hij kijkt of er een bestand op de server staat dat 'CViewer_*.exe' heet. (* = het versienummer (Major!) van het huidige programma + 1). Bijvoorbeeld:

Je hebt een oude versie van het programma, namelijk 1.0. Dan kijkt hij of er het volgende bestand staat: 'CViewer_2.exe'.

Kijk maar of het lukt. :D
 
Laatst bewerkt:
heel erg bedankt!:D

ik heb het voor elkaar gekregen :D
ik heb nu toegevoegt dat het het nieuwe bestand download.
alleen ben ik vergeten hoe de map user hoe hij die automatisch vindt :p
%username% toch ?
ik wil het dus op het bureaublad gedownload hebben.
 
Code:
My.Computer.FileSystem.SpecialDirectories.Desktop

Goed om te horen dat-ie het doet :thumb:
 
bedankt, maar ik heb dit dus dat hij de update download
Code:
My.Computer.Network.DownloadFile("ftp://cviewer.uphero.com/public_html/cviewer/CViewer_2.exe", "c:\users\hiermoetikdanautomatischnaamhebben\cviewerv2.exe", "a6162961", "wachtwoord")
ik moet de download dus naar het bureaublad downloaden alleen ik heb geen idee de code combineer met deze
Code:
My.Computer.FileSystem.SpecialDirectories.Desktop
 
Ik zal het even op je andere thread posten, OK? Zet je deze even op opgelost? ;)
 
Ik merk nu het probleem dat als je versie 2 hebt bijvoorbeeld en versie 10 is inmiddels uit dat hij niet zegt dat er een update is.

Deze code maakt het probleem:

Code:
If item.ToString = "Cviewer_" & My.Application.Info.Version.Major + 1 & ".exe" Then

hoe kan ik dit oplossen ?

20 keer deze regels maken en dan + 2 +3 +4 +5?
 
Wat voor foutmelding krijg je dan?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan