je cherche a faire "Regsvr32.exe MonDll.dll" a l'installation de l'application par dreamshield. Merci
je cherche a faire "Regsvr32.exe MonDll.dll" a l'installation de l'application par dreamshield. Merci
Si c'est une dll .NET, ce n'est plus RegSvr32 qu'il faut utiliser mais RegAsm cf. sur le blog C# Faq de la msdn : http://blogs.msdn.com/csharpfaq/arch...02/206158.aspx
Pour l'utiliser, il faut faire un click droit sur la dll en question et cliquer sur "Exécuter RegAsm sur ce fichier" afin de cocher cette entrée.Where you once used Regsvr32 on unmanaged COM libraries, you will now use Regasm on managed .NET libraries.
Si c'est une dll native (C++/VB6/Delphi/etc.), il n'y a pas de support natif mais tu peut t'en sortir. En supposant que tu programmes en C# (l'adaptation en VB.Net est très simple) :
Tu crées une nouvelle bibliothèque de classes. Tu y rajoutes une nouvelle "Classe Installer" comme type de fichier (si tu as VS). Et tu la complètes pour obtenir ceci :
Ensuite tu rajoutes la dll crée dans ton projet d'installation dans le même dossier que la dll que tu veux enregistrer, tu fais un click droit et "Exécuter InstallUtil sur ce fichier", et voilà.
Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Configuration.Install; using System.IO; using System.Reflection; using System.Diagnostics; namespace MiniInstallerClass { [RunInstaller(true)] public partial class Installer1 : Installer { public Installer1() { InitializeComponent(); } public virtual string AssemblyDir { get { return Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); } } public virtual string MyDll { get { return Path.Combine(AssemblyDir, "configuration.xml"); /* la dll que l'on veut traiter */ } } public override void Install(IDictionary stateSaver) { base.Install(stateSaver); Process a = Process.Start("Regsvr32.exe", "\"" + MyDll + "\""); a.WaitForExit(); } public override void Uninstall(IDictionary savedState) { base.Uninstall(savedState); Process a = Process.Start("Regsvr32.exe", "/u \"" + MyDll + "\""); a.WaitForExit(); } } }
c'est bon ?
De la vallée du vent ...
Distribution d'applications .NET avec DreamShield
DreamShield, Le site, forum, blog, wiki & Jeux
Mon blog, Cours et tutoriels pour apprendre C#, forum C#, Offres d’emploi développeur C#
moi je veux enregistrer une dll qui n'est pas .net en utilisant dreamshield.
J'ai cherché longtemps sans resultat.
merci pour toute forme d'aide.Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager