Creation du version shareware

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 927 fois - Téléchargée 20 fois

Contenu du snippet

je recherchais comment pouvoir définir une version shareware car je devais en faire une en exemple pour mon responsable de stage car est oui je suis stagiaires en développeur informatique.

j'ai donc crée un programme qui peut compléter n'importe quel autres programmes pour le rendre limités dans le temps.

pour ce faire j'utilise donc un fichier texte créer en notepad++, ou bloc notes et je me sert de sa date de création que je récupère dans mon programme et dont je fait la comparaison pour voir si elle n'est pas égale a la date du jour +365 jours.

vous pourrez apercevoir également dans ce petit soft que j'utilse le concepteur de curseur intégrer a visual studio 2005 et que je l'appelle au chargement de la fenêtre principale.
pondre a toute les questions ainsi qu'a toute les propositions pour pouvoir optimiser mon code

désoler de ne pas mettre de zip mais mon programme fait environ 5.52 mo et donc ne peut pas paraitre sur codes sources
a bientôt thiery laurent

Source / Exemple :


le programme s'appelle AlerteMaj v.01:

-------------------------------------------------------------------------------------------------

Imports System.IO

Public Class Bienvenue

    Dim date_confirmer As Date
    'au démarage du formulaire principal
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'appel du nouveau curseur de souris
        Cursor = New Cursor("Cursor1.cur")

        'désactivation du bouton quitter
        Me.btnquitter.Visible = False

        'désactivation du bouton suivant
        Me.btnsuivant.Visible = False

        'instantion des paramètre de lecture des fichiers
        Try

            'si il existe config.xmlID est le document de référence
            Dim SR As StreamReader = File.OpenText("C:\Program Files\XPSP2\AlertMaj v.O2\config.xmlID.P00000444.txt")
            date_confirmer = SR.ReadLine

        Catch ex As Exception
            'sinon on prend config.xml comme date de référence
            Dim Rs As String = File.GetCreationTime("C:\Program Files\XPSP2\AlertMaj v.O2\config.xml.P00000444.txt")
            date_confirmer = Rs

        End Try

        'comparaison de la date du jour avec la date de création du programme
        Dim Span As TimeSpan = Now - date_confirmer

        'si la date de creation du programme est superieure a 0 alors
        If Span.TotalDays > 0 Then
            'désactivation du bouton quitter
            btnquitter.Visible = False

            'activation du bouton suivant
            btnsuivant.Visible = True

            'remplissage du label message information
            Label1.Text = "Bienvenue et merci d'utiliser les programmes concues par I.D.E.E.S."

            'remplissage du label date
            Label2.Text = "Date d'installation du programme" & date_confirmer

            'appel du formulaire
            Me.Show()
        End If

        'si la date de création du programme est supèrieure a 365 jours alors
        If Span.TotalDays > 364 Then
            'incrematation du label par rapport au nombre de jour qui change constament

            Label1.Text = "Fin de validiter du programme veuillez appeller I.D.E.E.S. 06.62.80.47.56"

            'désactivation du bouton suivant
            btnsuivant.Visible = False

            'activation du bouton quitter
            btnquitter.Visible = True

            'lecture de la date de création du programme

            Label2.Text = "Date d'installation du programme" & date_confirmer

            'Appel de la fenêtre de mise a jour
            Me.Show()

        End If

        'si l'on arrive a 30 jours de la date de fin du programme alors
        If Span.TotalDays >= 330 Then
            'incrematation du label par rapport au nombre de jour qui change constament
            Me.Label1.Text = "Le programme arrive a expiration dans " & Span.Days - 364 & " jours " & Span.Hours & " heures et " & Span.Minutes & " minutes penser a appeller I.D.E.E.S. 06.62.80.47.56"

            'désactivation du bouton quitter
            Me.btnquitter.Visible = False

            'activation du bouton suivant 
            Me.btnsuivant.Visible = True

            'appel du formulaiire principal
            Me.Show()

        End If

        'si la date de création et superieure a la date du jour alors
        If Span.TotalDays < 0 Then
            'appel de messagebox pour date anterieure a la date de création du programme
            MessageBox.Show("Erreur date du systeme incorecte le programme va se fermer veuillez appelez l'administrateur systeme", "Erreur Fatale !!!!", MessageBoxButtons.OK, MessageBoxIcon.Error)

            'activation du bouton quitter
            btnquitter.Visible = True

            'désactivation du bouton suivant
            btnsuivant.Visible = False

        End If
    End Sub

    Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnquitter.Click
        Environment.Exit(0)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsuivant.Click
        MessageBox.Show("et la on peut loger le programme")
        Environment.Exit(0)
    End Sub
End Class

Conclusion :


j'ai était tres content d'avoir un tel défit personnel car je ne suis pas le roi de la programmation et que ce programme allait m'apprendre a gérer des choses que je ne connaissait pas encore.

je souhaite en tout cas remercier de tout coeur les menbres de codes sources ici présents:

Kevin.Ory,

mortalino,

fauve,

pour avoir répondu a mes questions sur le forums de codes sources et je remercie également le web master ainsi que tout les admin codes sources pour se site qui est tout simplement le site de référence des développeur

thiery laurent

A voir également

Ajouter un commentaire Commentaires
Messages postés
45
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
23 juin 2008

en tout cas merci a tous pour vos commentaire je méttrai tout en oeuvre pour effectuer les rectification nécéssaire un merci particulier a Kevin.Ory qui m'a donner des solutions plus poussé et de la doc a consulter pour y arriver.

merci a tous et a bientôt sur vbfrance
Messages postés
45
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
23 juin 2008

a au fait j'ai oublier de préciser mon fichier fait 5.52 mo mais le code que vous voyez ici n'est qu'un extrait de la totalité du programme final donc soyez indulgent si il y a des manques !!

je ne peut pas forcément distribué l'application car je suis en stage et donc le programme reste la propriété du responsable de stage (entreprise)

merci a tous de vos solicitations

laurent
Messages postés
45
Date d'inscription
mercredi 5 mars 2008
Statut
Membre
Dernière intervention
23 juin 2008

merci gillardg je vais voir ce que sa donne et je te dirai sa en tout cas merci pour vos mobilisation au sujet de mon programme une version bien plus fini est en passe d'être terminé je la mettrai quand elle sera abouti

a+ sur codes sources
Messages postés
3275
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 septembre 2014
4
Eazfuscator.NET est un obfuscator gratuit pour .NET http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/

pour un Shareware ,
il y a un "Shareware starter kit" de Microsoft
( j'ai pas encore éssayé ce que ça donne)
Messages postés
840
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
11
Salut Thiery,

Tout d'abord, merci à toi de m'avoir cité dans ton texte :)

Ensuite, je rejoins les autres au sujet de la non-efficacité de ton système de protection. Mais les commentaires ayant déjà été fait, je ne reviendrai pas la dessus. Par contre j'explique comment je ferais la chose (qui n'est peut-être pas non plus la meilleur d'ailleurs, je n'ai aucune expérience dans ce domaine):

- Du code .NET est facilement décompilable, n'importe qui s'y connaissant un peu peut donc voir comment fonctionne ton programme (pour trouver le chemin de ton fichier "config.xmlID.P00000444.txt" par exemple.
- Je crois qu'à peu-près toutes les limitations de temps de ce genre des versions shareware sont crackables (Microsoft n'est pas épargné)

Pour palier au 1er problème, tu peux rendre ton code quasiment impossible à lire grâce à Dotfuscator. Sa version Community (la plus simple) est d'ailleurs fournis avec VS 2008. Plus d'infos (chez MS):
http://msdn.microsoft.com/fr-fr/library/ms227240(VS.80).aspx

Pour éviter le 2ème problème, ne limite pas ton programme dans le temps mais limite ses fonctionnalités ou son confort d'utilisation.
Il faut faire attention au niveau des limitations de fonctionnalités, car cela peut rendre ton shareware inutilisable et donc par réellement testable et digne d'intérêts.
Le mieux à mon avis, est de limiter son confort d'utilisation. Exemple:
- Pour un programme de compression de vidéos, rajoute un logo/nom/email sur la vidéo créé.
- Limite la duré d'exécution de ton programme à 10 minutes d'utilisation. - Régulièrement lancer le navigateur Internet sur la page de ton site.

Ces exemples permettent une totale utilisation de ton programme mais sans pouvoir pleinement en profiter. Quelqu'un qui l'apprécie n'hésitera donc pas à l'acheter...

Ce qu'il y a de mieux, c'est évidement une vérification en ligne à chaque démarrage, mais ce n'est applicable qu'à peu de programmes (programme en ligne...) et est plus difficile à mettre en œuvre ;)

A bientôt...
Afficher les 19 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.