IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Setup custom action


Sujet :

C#

  1. #1
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut Setup custom action
    Bonjour,

    Est-il possible de récupérer dans mes custom action, la commande batch
    qui a été exécuter pour lancer le msi ?
    Je tente avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Environment.CommandLine
    Mais je ne récupère pas la dite commande. Auriez-vous une idée ?

    Dans l'attente de vous lire.

    Edit: je vien de voir avec cette ligne de code ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] args = Environment.GetCommandLineArgs();
    mais lorsque je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msiexec /i monPgm.msi /passive
    je ne récupère pas mon /passive
    L'idée serait de recupérer une valeur dans la ligne de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msiexec /i monPgm.msi clean="cleaning"
    mais à la place je récupère ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\WINDOWS\System32\MsiExec.exe -Embedding CDB991...65B M Global\MSI0000

  2. #2
    Membre très actif
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2010
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2010
    Messages : 336
    Par défaut
    Après presque une journée de recherche j'ai trouver la manière de récupérer cette commande. je vais l'expliquer dans le cas ou certaine personne seraient amenée à rencontrer le même problème.

    1. Tout d'abord il faut définir dans les [CustomActionData] du primary output
    la propriété suivante :/clientprocessid="[CLIENTPROCESSID]"

    2. Pour recupérer la valeur : this.Context.Parameters["clientprocessid"]

    3. Ensuite il faut parcourir les processus win32 que l'on a récupérer et chercher
    celui qui a le meme id que le clientprocessid

    Voici le code :
    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
     
    public string UserProcessId
        {
            get
            {
                return this.Context.Parameters["clientprocessid"];
            }
        }
    if (!string.IsNullOrWhiteSpace(UserProcessId))
            {
                ManagementClass manage = new ManagementClass("Win32_Process");
     
                foreach (ManagementObject item in manage.GetInstances())
                {
                    if (item.Properties["CommandLine"].Value != null)
                    {
                        if (item.GetPropertyValue("ProcessId").ToString() == UserProcessId)
                        {
                            MessageBox.Show(item.Properties["CommandLine"].Value.ToString());
                        }
                    }
                }
            }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Custom action url vers une autre liste
    Par ahmedmido dans le forum SharePoint
    Réponses: 4
    Dernier message: 11/08/2008, 17h01
  2. Problème affichage Custom Action
    Par Amédé dans le forum SharePoint
    Réponses: 2
    Dernier message: 05/08/2008, 09h29
  3. Réponses: 3
    Dernier message: 20/03/2008, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo