Ca vient d'un jeu mais pas bad company![]()
Ben je connais pas, ou du moins ça ne me dit rien![]()
A priori la detection à l'air de marcher correctement donc pas grand chose à ajouter et merci.
P.S.: Le jeu c'est Alerte Rouge Missions tesla (sur PS1) ou missions M.A.D. (sur PC) et M.A.D. c'est le nom d'un char qui veut dire Mutilation Annihilation Destruction. Tremblez simples mortels![]()
Bonjour Smyley
Je confirme, le plugin fonctionne puisque j'ai SEVEN 64 bits avec les composants 64 bits donc ton explication est bonne et ton code aussi même si je l'ai traduis en VB.net grace à un outil de translation en ligne.
Il a juste fallu modifier la méthode de détection de la version de l'OS.
Encore merci pour tes dernières explications, et bon courage pour la prochaine version de ton logiciel, tu penses qu'elle sortira quand d'ailleurs ?
Aucune idée, sincèrement navré
Sur le plan personnel je vie ce qui peut s'assimiler à une augmentation exponentielle des charges
Sur le plan DreamShieldien, j'ai vraiment envie d'alléger l'installeur et la pile des différents composants est assez colossale et je ne vois pas encore précisément comment faire, mais j'explore une piste ces temps ci (pour l'instant, une "chimère" affreuse à mi-chemin entre un SGDB relationnel et un arbre)
Mais s'il y a bien une chose de certaine, c'est que même si je ne donne pas signe de vie sur le projet, je continue d'y travailler ...
Désolé, je pensais que c'était bon mais en fait le problème n'est que partiellement résolu, l'installation gère très bien le fait qu'il installe seulement les composants ayant la mention 32 ou 64 bits mais par contre ce n'est absolument pas le cas de la mise à jour, voici le code tel que nous l'avons modifié et est-ce que tu saurais nous dire où se trouve cette erreur?
Code : 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99 Imports System Imports System.Collections.Generic Imports System.Text Imports System.IO Imports System.Management Imports DreamShield.Extentions Imports DreamShield.Deployment.Installers.DreamPlugins Imports DreamShield.Deployment.Miles Namespace ComponentsSelector <Extention(BaseDreamPluginContainer.DreamPluginExtentionGuid, "{88B51474-B088-4d40-ACD3-9B2F6450C466}")> _ Public Class DVPServerPlugin Inherits MilesRoot Public Enum OS_bits Unknown x86 x64 End Enum Public Function isos64() As Integer Dim ms As System.Management.ManagementScope Dim oq As System.Management.ObjectQuery Dim query As ManagementObjectSearcher Dim queryCollection As ManagementObjectCollection Dim MonMO As ManagementObject Dim stringMachineName As String = "localhost" Dim co As New ConnectionOptions Dim osarchitecture As String = "Indéfini" Dim truc As String isos64 = 0 Try ms = New System.Management.ManagementScope("\\" + stringMachineName + "\root\cimv2", co) oq = New System.Management.ObjectQuery("SELECT * FROM Win32_OperatingSystem") query = New ManagementObjectSearcher(ms, oq) queryCollection = query.Get() For Each MonMO In queryCollection osarchitecture = MonMO("OSArchitecture") Next Catch ex As Exception osarchitecture = "32 bits" Finally query.Dispose() queryCollection.Dispose() MonMO.Dispose() End Try truc = Mid(osarchitecture, 1, 3) truc = Trim(truc) isos64 = Val(truc) End Function Protected Overloads Overrides Sub OnServerInitialized() MyBase.OnServerInitialized() Dim proc_archi As Integer proc_archi = isos64() Dim arc As OS_bits = OS_bits.Unknown Select Case proc_archi Case 32 If True Then arc = OS_bits.x86 Exit Select End If Case 64 If True Then arc = OS_bits.x64 Exit Select End If End Select For Each item In Server.Engine.Package.PackageComponents.Components Dim component = Server.Engine.Package.PackageComponents.FindComponent(item) Select Case arc Case OS_bits.x64 If Not [String].IsNullOrEmpty(component.ComponentName) Then If component.ComponentName.EndsWith("x32") Then component.ComponentRuntimeSelected = False component.ComponentSelectable = False component.ComponentSelectedByDefault = False End If End If Exit Select Case OS_bits.x86 Or OS_bits.Unknown If Not [String].IsNullOrEmpty(component.ComponentName) Then If component.ComponentName.EndsWith("x64") Then component.ComponentRuntimeSelected = False component.ComponentSelectable = False component.ComponentSelectedByDefault = False End If End If Exit Select End Select Next End Sub End Class End Namespace
Pour completer MAD que se passe t'il lors d'une "réparation" au niveau du plugin ?
Car actuellement nous avons fait la déduction suivante : le plugin n'est executer que lors d'une primo installation, avons nous tort ?
Merci Smyley par avance de ta prochaine réponse.
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