Ejemplo n.º 1
0
        }// onTextChange

        void onBrowse(Object o, EventArgs e)
        {
            // Pop up a file dialog so the user can find an assembly
            OpenFileDialog fd = new OpenFileDialog();

            fd.Title  = CResourceStore.GetString("CTrustAppWiz2:ChooseAssemFDTitle");
            fd.Filter = CResourceStore.GetString("AssemFDMask");
            System.Windows.Forms.DialogResult dr = fd.ShowDialog();
            if (dr == System.Windows.Forms.DialogResult.OK)
            {
                if (Fusion.isManaged(fd.FileName))
                {
                    m_txtFilename.Text = fd.FileName;
                    // Inform our wizard that we have a new assembly for it to try and load
                    CFullTrustWizard wiz = (CFullTrustWizard)CNodeManager.GetNode(m_iCookie);
                    wiz.NewAssembly();
                }
                else
                {
                    MessageBox(CResourceStore.GetString("isNotManagedCode"),
                               CResourceStore.GetString("isNotManagedCodeTitle"),
                               MB.ICONEXCLAMATION);
                }
            }
        } // onBrowse
Ejemplo n.º 2
0
        }// PutValuesinPage

        void onBrowse(Object o, EventArgs e)
        {
            // Pop up a file dialog so the user can find an assembly
            OpenFileDialog fd = new OpenFileDialog();

            fd.Title  = CResourceStore.GetString("CEvalAssemWiz1:FDTitle");
            fd.Filter = CResourceStore.GetString("CEvalAssemWiz1:FDMask");
            System.Windows.Forms.DialogResult dr = fd.ShowDialog();
            if (dr == System.Windows.Forms.DialogResult.OK)
            {
                if (Fusion.isManaged(fd.FileName))
                {
                    m_txtFilename.Text = fd.FileName;
                    onTextChange(null, null);

                    // Get a jump on the loading of this assembly
                    if (m_tEvidence != null)
                    {
                        m_tEvidence.Abort();
                    }

                    m_tEvidence = new Thread(new ThreadStart(NewAssembly));
                    m_tEvidence.Start();
                }
                else
                {
                    MessageBox(CResourceStore.GetString("isNotManagedCode"),
                               CResourceStore.GetString("isNotManagedCodeTitle"),
                               MB.ICONEXCLAMATION);
                }
            }
        }// onBrowse
        }// class PropPagePairs

        internal CSharedAssemblies()
        {
            m_sGuid        = "96821C0B-CBE2-4dc9-AC52-756A3361B07F";
            m_sHelpSection = "";
            m_hIcon        = CResourceStore.GetHIcon("sharedassemblies_ico");
            DisplayName    = CResourceStore.GetString("CSharedAssemblies:DisplayName");
            Name           = "Assembly Cache";

            m_taskPad       = new CGenericTaskPad(this, "SHAREDASSEM_HTML");
            m_fReadShowHTML = false;

            m_olAssems = Fusion.ReadFusionCache();

            m_alResultPropPages = new ArrayList();


            // Set up the blank icon
            m_hBlankIcon      = CResourceStore.GetHIcon("blank_ico");
            m_iBlankIconIndex = CResourceStore.GetIconCookie(m_hBlankIcon);

            m_hGACIcon      = CResourceStore.GetHIcon("gac_ico");
            m_iGACIconIndex = CResourceStore.GetIconCookie(m_hGACIcon);

            m_hZAPIcon      = CResourceStore.GetHIcon("zap_ico");
            m_iZAPIconIndex = CResourceStore.GetIconCookie(m_hZAPIcon);

            m_fAllowMultiSelectResults = true;
        }// CSharedAssemblies
Ejemplo n.º 4
0
        internal CApplicationDepends(String sAppFile)
        {
            m_sGuid        = "96821C0B-CBE2-4dc9-AC52-756A3361B07F";
            m_sHelpSection = "";
            m_hIcon        = CResourceStore.GetHIcon("sharedassemblies_ico");
            DisplayName    = CResourceStore.GetString("CApplicationDepends:DisplayName");
            Name           = "Assembly Dependencies";

            m_taskPadWaiting = new CGenericTaskPad(this, "WAITINGDEPENDASSEM_HTML");
            m_taskPad        = new CGenericTaskPad(this, "DEPENDASSEM_HTML");

            m_fIKnowMyDependencies     = false;
            m_fAllowListView           = false;
            m_fAllowMultiSelectResults = true;


            m_fReadShowHTML = false;
            m_oResults      = m_taskPadWaiting;
            m_olAssems      = null;

            m_sAppFile = sAppFile;

            // Get icons for the assemblies we show
            m_hAssemIcon      = CResourceStore.GetHIcon("gac_ico");
            m_iAssemIconIndex = CResourceStore.GetIconCookie(m_hAssemIcon);


            // If we're not managed, then don't bother trying to have our dependencies
            // found
            if (!Fusion.isManaged(m_sAppFile))
            {
                m_taskPad              = new CGenericTaskPad(this, "UNMANAGEDDEPENDASSEM_HTML");
                m_oResults             = m_taskPad;
                m_fIKnowMyDependencies = true;
            }
            else
            {
                // Get ourselves in a queue to have our dependent assemblies discovered....
                if (m_alNodes == null)
                {
                    m_alNodes = ArrayList.Synchronized(new ArrayList());
                }

                m_alNodes.Add(this);

                if (m_thread == null)
                {
                    m_thread = new Thread(new ThreadStart(DependencyFinder));
                }
                if (!m_thread.IsAlive)
                {
                    m_thread.Priority = ThreadPriority.Lowest;
                    m_thread.Start();
                }
            }
        }// CApplicationDepends
Ejemplo n.º 5
0
        }// InsertPropSheetPageControls

        //-------------------------------------------------
        // PutValuesinPage
        //
        // This function put data onto the property page
        //-------------------------------------------------
        private void PutValuesinPage()
        {
            // Fill this data
            m_txtAssemName.Text      = m_ai.Name;
            m_txtLastModifed.Text    = m_ai.Modified;
            m_txtCulture.Text        = m_ai.Locale;
            m_txtVersion.Text        = m_ai.Version;
            m_txtPublicKeyToken.Text = m_ai.PublicKeyToken;
            m_txtCodebase.Text       = m_ai.Codebase;
            m_txtCacheType.Text      = Fusion.GetCacheTypeString(m_ai.nCacheType);
        } // PutValuesinPage
        }// ResultQDO

        internal override bool ResultCompareObjects(Object o1, Object o2, out bool fEqual)
        {
            if (o1 is AssemInfo && o2 is AssemInfo)
            {
                fEqual = Fusion.CompareAssemInfo((AssemInfo)o1, (AssemInfo)o2);
                return(true);
            }
            MessageBox("Ack. I'm in ResultCompareObjects and they aren't AssemInfos!", "", 0);
            fEqual = false;
            return(false);
        }// ResultCompareObjects
        }// onDoubleClick

        internal override int onDelete(Object o)
        {
            String sMessage;

            if (o is ArrayList)
            {
                sMessage = CResourceStore.GetString("CSharedAssemblies:VerifyDelete");
            }
            else
            {
                sMessage = String.Format(CResourceStore.GetString("CSharedAssemblies:VerifyDeleteSingle"), ((AssemInfo)o).Name);
            }


            int nRes = MessageBox(sMessage,
                                  CResourceStore.GetString("CSharedAssemblies:VerifyDeleteTitle"),
                                  MB.ICONQUESTION | MB.YESNO);

            if (nRes == MB.IDYES)
            {
                if (o is ArrayList)
                {
                    ArrayList al = (ArrayList)o;
                    for (int i = 0; i < al.Count; i++)
                    {
                        int nVictim = ((int)al[i]) - 1;
                        if (!Fusion.RemoveAssemblyFromGac((AssemInfo)m_olAssems[nVictim]))
                        {
                            MessageBox(String.Format(CResourceStore.GetString("CSharedAssemblies:ErrorRemoving"), ((AssemInfo)m_olAssems[nVictim]).Name),
                                       CResourceStore.GetString("CSharedAssemblies:ErrorRemovingTitle"),
                                       MB.ICONEXCLAMATION);
                        }
                    }
                }
                else
                {
                    AssemInfo ai = (AssemInfo)o;
                    if (!Fusion.RemoveAssemblyFromGac(ai))
                    {
                        MessageBox(String.Format(CResourceStore.GetString("CSharedAssemblies:ErrorRemoving"), ai.Name),
                                   CResourceStore.GetString("CSharedAssemblies:ErrorRemovingTitle"),
                                   MB.ICONEXCLAMATION);
                    }
                }

                m_olAssems = Fusion.ReadFusionCache();
                CNodeManager.Console.SelectScopeItem(HScopeItem);
            }

            return(HRESULT.S_OK);
        }// onDelete
        }// onDelete

        internal override void Showing()
        {
            m_olAssems = Fusion.ReadFusionCache();

            if (!m_fReadShowHTML)
            {
                m_fShowHTMLPage = ((String)CConfigStore.GetSetting("ShowHTMLForSharedAssem")).Equals("yes");

                if (m_fShowHTMLPage)
                {
                    m_oResults = m_taskPad;
                }
                else
                {
                    m_oResults = this;
                }
                m_fReadShowHTML = true;
            }
        }// Showing
Ejemplo n.º 9
0
        internal CFusionNoVersionDialog() : base(false)
        {
            this.Text = CResourceStore.GetString("InheritedAssemblyDialogs:ChooseFromGac");
            m_ol      = Fusion.ReadFusionCacheJustGAC();

            // Filter out duplicate versions....
            for (int i = 0; i < m_ol.Count; i++)
            {
                AssemInfo ai = (AssemInfo)m_ol[i];
                // Run through and see if anybody else has this name and public key token
                for (int j = i + 1; j < m_ol.Count; j++)
                {
                    AssemInfo ai2 = (AssemInfo)m_ol[j];
                    if (ai2.Name.Equals(ai.Name) && ai2.PublicKeyToken.Equals(ai.PublicKeyToken))
                    {
                        m_ol.RemoveAt(j);
                        j--;
                    }
                }
            }
            PutInAssemblies();
        } // CFusionNoVersionDialog
Ejemplo n.º 10
0
        }// ApplyPropPages

        private CPropPage[] GetPropertyPages(AssemInfo ai)
        {
            // Let's see if we already have an entry for this assemby item
            int nLen = m_alResultPropPages.Count;

            for (int i = 0; i < nLen; i++)
            {
                if (Fusion.CompareAssemInfo(((PropPagePairs)m_alResultPropPages[i]).ai, ai))
                {
                    return(((PropPagePairs)m_alResultPropPages[i]).ppages);
                }
            }

            // If we're here, then we have a new property page to add
            PropPagePairs ppp = new PropPagePairs();

            ppp.ppages = new CPropPage[1] {
                new CAssemGenProps(ai)
            };
            ppp.ai = ai;
            m_alResultPropPages.Add(ppp);
            return(ppp.ppages);
        }// GetPropertyPages
Ejemplo n.º 11
0
        }// Paste

        private bool AddAssemToFusion(String sFilename)
        {
            if (Fusion.isManaged(sFilename))
            {
                int hr = Fusion.AddAssemblytoGac(sFilename);
                if (hr != HRESULT.S_OK)
                {
                    if (hr == HRESULT.E_ACCESSDENIED)
                    {
                        MessageBox(CResourceStore.GetString("CSharedAssemblies:AddAssemFailNoAccess"),
                                   CResourceStore.GetString("CSharedAssemblies:AddAssemFailNoAccessTitle"),
                                   MB.ICONEXCLAMATION);
                        // If this happens, they won't be able to add any items to the gac
                        return(false);
                    }
                    else
                    {
                        MessageBox(CResourceStore.GetString("CSharedAssemblies:AddAssemFail"),
                                   CResourceStore.GetString("CSharedAssemblies:AddAssemFailTitle"),
                                   MB.ICONEXCLAMATION);
                    }
                }
                // Don't bother refreshing the screen unless we added an assembly
                else
                {
                    m_olAssems = Fusion.ReadFusionCache();
                    CNodeManager.Console.SelectScopeItem(HScopeItem);
                }
            }
            else
            {
                MessageBox(CResourceStore.GetString("isNotManagedCode"),
                           CResourceStore.GetString("isNotManagedCodeTitle"),
                           MB.ICONEXCLAMATION);
            }
            return(true);
        }// AddAssemToFusion
Ejemplo n.º 12
0
        }// HaveCurrentEvidence

        internal Evidence GetEvidence()
        {
            // If we have a thread that is doing this right now, abort
            // it.
            if (m_tEvidence != null)
            {
                m_tEvidence.Abort();
            }
            try
            {
                AssemblyRef ar = m_al.LoadAssemblyInOtherAppDomainFrom(m_txtFilename.Text);
                Evidence    e  = ar.GetEvidence();
                m_al.Finished();
                m_sEvalAssem = m_txtFilename.Text;
                return(e);
            }
            catch (Exception)
            {
                // Let's see if can can figure out what failed...
                if (File.Exists(m_txtFilename.Text) && !Fusion.isManaged(m_txtFilename.Text))
                {
                    MessageBox(CResourceStore.GetString("isNotManagedCode"),
                               CResourceStore.GetString("isNotManagedCodeTitle"),
                               MB.ICONEXCLAMATION);
                }

                else
                {
                    MessageBox(String.Format(CResourceStore.GetString("CantLoadAssembly"), m_txtFilename.Text),
                               CResourceStore.GetString("CantLoadAssemblyTitle"),
                               MB.ICONEXCLAMATION);
                }
                m_al.Finished();
                return(null);
            }
        } // GetEvidence
Ejemplo n.º 13
0
 internal CFusionDialog()
 {
     this.Text = CResourceStore.GetString("InheritedAssemblyDialogs:ChooseFromGac");
     m_ol      = Fusion.ReadFusionCacheJustGAC();
     PutInAssemblies();
 } // CFusionDialog
Ejemplo n.º 14
0
        }// Filename

        private void SetupControls()
        {
            System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(CChooseAppDialog));
            this.m_lblHelp      = new System.Windows.Forms.Label();
            this.m_lblChooseApp = new System.Windows.Forms.Label();
            this.m_lvApps       = new System.Windows.Forms.ListView();
            this.m_lblBrowse    = new System.Windows.Forms.Label();
            this.m_btnBrowse    = new System.Windows.Forms.Button();
            this.m_btnOK        = new System.Windows.Forms.Button();
            this.m_btnCancel    = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // m_lblHelp
            //
            this.m_lblHelp.AccessibleDescription = ((string)(resources.GetObject("m_lblHelp.AccessibleDescription")));
            this.m_lblHelp.AccessibleName        = ((string)(resources.GetObject("m_lblHelp.AccessibleName")));
            this.m_lblHelp.Anchor      = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_lblHelp.Anchor")));
            this.m_lblHelp.AutoSize    = ((bool)(resources.GetObject("m_lblHelp.AutoSize")));
            this.m_lblHelp.Cursor      = ((System.Windows.Forms.Cursor)(resources.GetObject("m_lblHelp.Cursor")));
            this.m_lblHelp.Dock        = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_lblHelp.Dock")));
            this.m_lblHelp.Enabled     = ((bool)(resources.GetObject("m_lblHelp.Enabled")));
            this.m_lblHelp.Font        = ((System.Drawing.Font)(resources.GetObject("m_lblHelp.Font")));
            this.m_lblHelp.Image       = ((System.Drawing.Image)(resources.GetObject("m_lblHelp.Image")));
            this.m_lblHelp.ImageAlign  = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblHelp.ImageAlign")));
            this.m_lblHelp.ImageIndex  = ((int)(resources.GetObject("m_lblHelp.ImageIndex")));
            this.m_lblHelp.ImeMode     = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_lblHelp.ImeMode")));
            this.m_lblHelp.Location    = ((System.Drawing.Point)(resources.GetObject("m_lblHelp.Location")));
            this.m_lblHelp.Name        = "Help";
            this.m_lblHelp.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_lblHelp.RightToLeft")));
            this.m_lblHelp.Size        = ((System.Drawing.Size)(resources.GetObject("m_lblHelp.Size")));
            this.m_lblHelp.TabIndex    = ((int)(resources.GetObject("m_lblHelp.TabIndex")));
            this.m_lblHelp.Text        = resources.GetString("m_lblHelp.Text");
            this.m_lblHelp.TextAlign   = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblHelp.TextAlign")));
            this.m_lblHelp.Visible     = ((bool)(resources.GetObject("m_lblHelp.Visible")));
            //
            // m_lblChooseApp
            //
            this.m_lblChooseApp.AccessibleDescription = ((string)(resources.GetObject("m_lblChooseApp.AccessibleDescription")));
            this.m_lblChooseApp.AccessibleName        = ((string)(resources.GetObject("m_lblChooseApp.AccessibleName")));
            this.m_lblChooseApp.Anchor      = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_lblChooseApp.Anchor")));
            this.m_lblChooseApp.AutoSize    = ((bool)(resources.GetObject("m_lblChooseApp.AutoSize")));
            this.m_lblChooseApp.Cursor      = ((System.Windows.Forms.Cursor)(resources.GetObject("m_lblChooseApp.Cursor")));
            this.m_lblChooseApp.Dock        = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_lblChooseApp.Dock")));
            this.m_lblChooseApp.Enabled     = ((bool)(resources.GetObject("m_lblChooseApp.Enabled")));
            this.m_lblChooseApp.Font        = ((System.Drawing.Font)(resources.GetObject("m_lblChooseApp.Font")));
            this.m_lblChooseApp.Image       = ((System.Drawing.Image)(resources.GetObject("m_lblChooseApp.Image")));
            this.m_lblChooseApp.ImageAlign  = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblChooseApp.ImageAlign")));
            this.m_lblChooseApp.ImageIndex  = ((int)(resources.GetObject("m_lblChooseApp.ImageIndex")));
            this.m_lblChooseApp.ImeMode     = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_lblChooseApp.ImeMode")));
            this.m_lblChooseApp.Location    = ((System.Drawing.Point)(resources.GetObject("m_lblChooseApp.Location")));
            this.m_lblChooseApp.Name        = "ChooseAppLabel";
            this.m_lblChooseApp.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_lblChooseApp.RightToLeft")));
            this.m_lblChooseApp.Size        = ((System.Drawing.Size)(resources.GetObject("m_lblChooseApp.Size")));
            this.m_lblChooseApp.TabIndex    = ((int)(resources.GetObject("m_lblChooseApp.TabIndex")));
            this.m_lblChooseApp.Text        = resources.GetString("m_lblChooseApp.Text");
            this.m_lblChooseApp.TextAlign   = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblChooseApp.TextAlign")));
            this.m_lblChooseApp.Visible     = ((bool)(resources.GetObject("m_lblChooseApp.Visible")));
            //
            // m_lvApps
            //
            this.m_lvApps.AccessibleDescription = ((string)(resources.GetObject("m_lvApps.AccessibleDescription")));
            this.m_lvApps.AccessibleName        = ((string)(resources.GetObject("m_lvApps.AccessibleName")));
            this.m_lvApps.Alignment             = ((System.Windows.Forms.ListViewAlignment)(resources.GetObject("m_lvApps.Alignment")));
            this.m_lvApps.Anchor          = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_lvApps.Anchor")));
            this.m_lvApps.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("m_lvApps.BackgroundImage")));

            ColumnHeader chApplication = new ColumnHeader();
            ColumnHeader chLocation    = new ColumnHeader();;

            chApplication.Text      = resources.GetString("Application.Text");
            chApplication.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("Application.TextAlign")));
            chApplication.Width     = ((int)(resources.GetObject("Application.Width")));

            chLocation.Text      = resources.GetString("Location.Text");
            chLocation.TextAlign = ((System.Windows.Forms.HorizontalAlignment)(resources.GetObject("Location.TextAlign")));
            chLocation.Width     = ((int)(resources.GetObject("Location.Width")));

            this.m_lvApps.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
                chApplication,
                chLocation
            });
            this.m_lvApps.Cursor        = ((System.Windows.Forms.Cursor)(resources.GetObject("m_lvApps.Cursor")));
            this.m_lvApps.Dock          = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_lvApps.Dock")));
            this.m_lvApps.Enabled       = ((bool)(resources.GetObject("m_lvApps.Enabled")));
            this.m_lvApps.Font          = ((System.Drawing.Font)(resources.GetObject("m_lvApps.Font")));
            this.m_lvApps.ImeMode       = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_lvApps.ImeMode")));
            this.m_lvApps.LabelWrap     = ((bool)(resources.GetObject("m_lvApps.LabelWrap")));
            this.m_lvApps.Location      = ((System.Drawing.Point)(resources.GetObject("m_lvApps.Location")));
            this.m_lvApps.Name          = "AppsList";
            this.m_lvApps.RightToLeft   = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_lvApps.RightToLeft")));
            this.m_lvApps.Size          = ((System.Drawing.Size)(resources.GetObject("m_lvApps.Size")));
            this.m_lvApps.TabIndex      = ((int)(resources.GetObject("m_lvApps.TabIndex")));
            this.m_lvApps.Text          = resources.GetString("m_lvApps.Text");
            this.m_lvApps.Visible       = ((bool)(resources.GetObject("m_lvApps.Visible")));
            this.m_lvApps.FullRowSelect = true;

            //
            // m_lblBrowse
            //
            this.m_lblBrowse.AccessibleDescription = ((string)(resources.GetObject("m_lblBrowse.AccessibleDescription")));
            this.m_lblBrowse.AccessibleName        = ((string)(resources.GetObject("m_lblBrowse.AccessibleName")));
            this.m_lblBrowse.Anchor      = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_lblBrowse.Anchor")));
            this.m_lblBrowse.AutoSize    = ((bool)(resources.GetObject("m_lblBrowse.AutoSize")));
            this.m_lblBrowse.Cursor      = ((System.Windows.Forms.Cursor)(resources.GetObject("m_lblBrowse.Cursor")));
            this.m_lblBrowse.Dock        = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_lblBrowse.Dock")));
            this.m_lblBrowse.Enabled     = ((bool)(resources.GetObject("m_lblBrowse.Enabled")));
            this.m_lblBrowse.Font        = ((System.Drawing.Font)(resources.GetObject("m_lblBrowse.Font")));
            this.m_lblBrowse.Image       = ((System.Drawing.Image)(resources.GetObject("m_lblBrowse.Image")));
            this.m_lblBrowse.ImageAlign  = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblBrowse.ImageAlign")));
            this.m_lblBrowse.ImageIndex  = ((int)(resources.GetObject("m_lblBrowse.ImageIndex")));
            this.m_lblBrowse.ImeMode     = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_lblBrowse.ImeMode")));
            this.m_lblBrowse.Location    = ((System.Drawing.Point)(resources.GetObject("m_lblBrowse.Location")));
            this.m_lblBrowse.Name        = "BrowseLabel";
            this.m_lblBrowse.RightToLeft = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_lblBrowse.RightToLeft")));
            this.m_lblBrowse.Size        = ((System.Drawing.Size)(resources.GetObject("m_lblBrowse.Size")));
            this.m_lblBrowse.TabIndex    = ((int)(resources.GetObject("m_lblBrowse.TabIndex")));
            this.m_lblBrowse.Text        = resources.GetString("m_lblBrowse.Text");
            this.m_lblBrowse.TextAlign   = ((System.Drawing.ContentAlignment)(resources.GetObject("m_lblBrowse.TextAlign")));
            this.m_lblBrowse.Visible     = ((bool)(resources.GetObject("m_lblBrowse.Visible")));
            //
            // m_btnBrowse
            //
            this.m_btnBrowse.AccessibleDescription = ((string)(resources.GetObject("m_btnBrowse.AccessibleDescription")));
            this.m_btnBrowse.AccessibleName        = ((string)(resources.GetObject("m_btnBrowse.AccessibleName")));
            this.m_btnBrowse.Anchor          = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_btnBrowse.Anchor")));
            this.m_btnBrowse.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("m_btnBrowse.BackgroundImage")));
            this.m_btnBrowse.Cursor          = ((System.Windows.Forms.Cursor)(resources.GetObject("m_btnBrowse.Cursor")));
            this.m_btnBrowse.Dock            = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_btnBrowse.Dock")));
            this.m_btnBrowse.Enabled         = ((bool)(resources.GetObject("m_btnBrowse.Enabled")));
            this.m_btnBrowse.FlatStyle       = ((System.Windows.Forms.FlatStyle)(resources.GetObject("m_btnBrowse.FlatStyle")));
            this.m_btnBrowse.Font            = ((System.Drawing.Font)(resources.GetObject("m_btnBrowse.Font")));
            this.m_btnBrowse.Image           = ((System.Drawing.Image)(resources.GetObject("m_btnBrowse.Image")));
            this.m_btnBrowse.ImageAlign      = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnBrowse.ImageAlign")));
            this.m_btnBrowse.ImageIndex      = ((int)(resources.GetObject("m_btnBrowse.ImageIndex")));
            this.m_btnBrowse.ImeMode         = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_btnBrowse.ImeMode")));
            this.m_btnBrowse.Location        = ((System.Drawing.Point)(resources.GetObject("m_btnBrowse.Location")));
            this.m_btnBrowse.Name            = "Browse";
            this.m_btnBrowse.RightToLeft     = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_btnBrowse.RightToLeft")));
            this.m_btnBrowse.Size            = ((System.Drawing.Size)(resources.GetObject("m_btnBrowse.Size")));
            this.m_btnBrowse.TabIndex        = ((int)(resources.GetObject("m_btnBrowse.TabIndex")));
            this.m_btnBrowse.Text            = resources.GetString("m_btnBrowse.Text");
            this.m_btnBrowse.TextAlign       = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnBrowse.TextAlign")));
            this.m_btnBrowse.Visible         = ((bool)(resources.GetObject("m_btnBrowse.Visible")));
            //
            // m_btnOK
            //
            this.m_btnOK.AccessibleDescription = ((string)(resources.GetObject("m_btnOK.AccessibleDescription")));
            this.m_btnOK.AccessibleName        = ((string)(resources.GetObject("m_btnOK.AccessibleName")));
            this.m_btnOK.Anchor          = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_btnOK.Anchor")));
            this.m_btnOK.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("m_btnOK.BackgroundImage")));
            this.m_btnOK.Cursor          = ((System.Windows.Forms.Cursor)(resources.GetObject("m_btnOK.Cursor")));
            this.m_btnOK.DialogResult    = System.Windows.Forms.DialogResult.OK;
            this.m_btnOK.Dock            = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_btnOK.Dock")));
            this.m_btnOK.Enabled         = ((bool)(resources.GetObject("m_btnOK.Enabled")));
            this.m_btnOK.FlatStyle       = ((System.Windows.Forms.FlatStyle)(resources.GetObject("m_btnOK.FlatStyle")));
            this.m_btnOK.Font            = ((System.Drawing.Font)(resources.GetObject("m_btnOK.Font")));
            this.m_btnOK.Image           = ((System.Drawing.Image)(resources.GetObject("m_btnOK.Image")));
            this.m_btnOK.ImageAlign      = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnOK.ImageAlign")));
            this.m_btnOK.ImageIndex      = ((int)(resources.GetObject("m_btnOK.ImageIndex")));
            this.m_btnOK.ImeMode         = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_btnOK.ImeMode")));
            this.m_btnOK.Location        = ((System.Drawing.Point)(resources.GetObject("m_btnOK.Location")));
            this.m_btnOK.Name            = "OK";
            this.m_btnOK.RightToLeft     = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_btnOK.RightToLeft")));
            this.m_btnOK.Size            = ((System.Drawing.Size)(resources.GetObject("m_btnOK.Size")));
            this.m_btnOK.TabIndex        = ((int)(resources.GetObject("m_btnOK.TabIndex")));
            this.m_btnOK.Text            = resources.GetString("m_btnOK.Text");
            this.m_btnOK.TextAlign       = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnOK.TextAlign")));
            this.m_btnOK.Visible         = ((bool)(resources.GetObject("m_btnOK.Visible")));
            //
            // m_btnCancel
            //
            this.m_btnCancel.AccessibleDescription = ((string)(resources.GetObject("m_btnCancel.AccessibleDescription")));
            this.m_btnCancel.AccessibleName        = ((string)(resources.GetObject("m_btnCancel.AccessibleName")));
            this.m_btnCancel.Anchor          = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("m_btnCancel.Anchor")));
            this.m_btnCancel.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("m_btnCancel.BackgroundImage")));
            this.m_btnCancel.Cursor          = ((System.Windows.Forms.Cursor)(resources.GetObject("m_btnCancel.Cursor")));
            this.m_btnCancel.DialogResult    = System.Windows.Forms.DialogResult.Cancel;
            this.m_btnCancel.Dock            = ((System.Windows.Forms.DockStyle)(resources.GetObject("m_btnCancel.Dock")));
            this.m_btnCancel.Enabled         = ((bool)(resources.GetObject("m_btnCancel.Enabled")));
            this.m_btnCancel.FlatStyle       = ((System.Windows.Forms.FlatStyle)(resources.GetObject("m_btnCancel.FlatStyle")));
            this.m_btnCancel.Font            = ((System.Drawing.Font)(resources.GetObject("m_btnCancel.Font")));
            this.m_btnCancel.Image           = ((System.Drawing.Image)(resources.GetObject("m_btnCancel.Image")));
            this.m_btnCancel.ImageAlign      = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnCancel.ImageAlign")));
            this.m_btnCancel.ImageIndex      = ((int)(resources.GetObject("m_btnCancel.ImageIndex")));
            this.m_btnCancel.ImeMode         = ((System.Windows.Forms.ImeMode)(resources.GetObject("m_btnCancel.ImeMode")));
            this.m_btnCancel.Location        = ((System.Drawing.Point)(resources.GetObject("m_btnCancel.Location")));
            this.m_btnCancel.Name            = "Cancel";
            this.m_btnCancel.RightToLeft     = ((System.Windows.Forms.RightToLeft)(resources.GetObject("m_btnCancel.RightToLeft")));
            this.m_btnCancel.Size            = ((System.Drawing.Size)(resources.GetObject("m_btnCancel.Size")));
            this.m_btnCancel.TabIndex        = ((int)(resources.GetObject("m_btnCancel.TabIndex")));
            this.m_btnCancel.Text            = resources.GetString("m_btnCancel.Text");
            this.m_btnCancel.TextAlign       = ((System.Drawing.ContentAlignment)(resources.GetObject("m_btnCancel.TextAlign")));
            this.m_btnCancel.Visible         = ((bool)(resources.GetObject("m_btnCancel.Visible")));
            //
            // Win32Form2
            //
            this.AccessibleDescription = ((string)(resources.GetObject("$this.AccessibleDescription")));
            this.AccessibleName        = ((string)(resources.GetObject("$this.AccessibleName")));
            this.Anchor            = ((System.Windows.Forms.AnchorStyles)(resources.GetObject("$this.Anchor")));
            this.AutoScaleBaseSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScaleBaseSize")));
            this.AutoScroll        = ((bool)(resources.GetObject("$this.AutoScroll")));
            this.AutoScrollMargin  = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMargin")));
            this.AutoScrollMinSize = ((System.Drawing.Size)(resources.GetObject("$this.AutoScrollMinSize")));
            this.BackgroundImage   = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
            this.ClientSize        = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize")));
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                this.m_btnCancel,
                this.m_btnOK,
                this.m_btnBrowse,
                this.m_lblBrowse,
                this.m_lvApps,
                this.m_lblChooseApp,
                this.m_lblHelp
            });
            this.Cursor        = ((System.Windows.Forms.Cursor)(resources.GetObject("$this.Cursor")));
            this.Dock          = ((System.Windows.Forms.DockStyle)(resources.GetObject("$this.Dock")));
            this.Enabled       = ((bool)(resources.GetObject("$this.Enabled")));
            this.Font          = ((System.Drawing.Font)(resources.GetObject("$this.Font")));
            this.ImeMode       = ((System.Windows.Forms.ImeMode)(resources.GetObject("$this.ImeMode")));
            this.Location      = ((System.Drawing.Point)(resources.GetObject("$this.Location")));
            this.MaximumSize   = ((System.Drawing.Size)(resources.GetObject("$this.MaximumSize")));
            this.MinimumSize   = ((System.Drawing.Size)(resources.GetObject("$this.MinimumSize")));
            this.Name          = "Win32Form2";
            this.RightToLeft   = ((System.Windows.Forms.RightToLeft)(resources.GetObject("$this.RightToLeft")));
            this.StartPosition = ((System.Windows.Forms.FormStartPosition)(resources.GetObject("$this.StartPosition")));
            this.Text          = resources.GetString("$this.Text");
            this.Visible       = ((bool)(resources.GetObject("$this.Visible")));
            this.ResumeLayout(false);
            this.MaximizeBox     = false;
            this.MinimizeBox     = false;
            this.Icon            = null;
            this.FormBorderStyle = FormBorderStyle.FixedDialog;
            this.CancelButton    = m_btnCancel;
            // Do some customization of controls...

            // Set up the image list for the listview
            m_ilIcons = new ImageList();

            m_lvApps.SmallImageList = m_ilIcons;
            m_lvApps.MultiSelect    = false;
            m_lvApps.View           = View.Details;

            m_btnOK.Enabled = false;
            m_lvApps.SelectedIndexChanged += new EventHandler(onAppChange);
            m_btnBrowse.Click             += new EventHandler(onBrowse);
            m_lvApps.DoubleClick          += new EventHandler(onListDoubleClick);


            // Put in the known Fusion apps
            StringCollection sc = Fusion.GetKnownFusionApps();

            if (sc != null)
            {
                for (int i = 0; i < sc.Count; i++)
                {
                    AddAppToList(sc[i], false);
                }
            }
        }// SetupControls
Ejemplo n.º 15
0
        }// WizBack

        protected override int WizNext(IntPtr hwnd)
        {
            int nIndex      = GetPropPage(hwnd);
            int nReturnCode = 0;

            switch (nIndex)
            {
            // This page corresponds to the "Choose an assembly to trust" page
            case Page2Index:
                // Get our assembly to finish loading
                if (m_tAssemblyLoader != null)
                {
                    m_tAssemblyLoader.Join();
                }

                if (m_ev == null)
                {
                    // We don't have evidence yet. Let's try and get it
                    LoadAssembly();
                    // We had a problem with the load
                    if (m_ev == null)
                    {
                        // Let's see if can can figure out what failed...
                        if (File.Exists(Page2.Filename) && !Fusion.isManaged(Page2.Filename))
                        {
                            MessageBox(CResourceStore.GetString("isNotManagedCode"),
                                       CResourceStore.GetString("isNotManagedCodeTitle"),
                                       MB.ICONEXCLAMATION);
                        }

                        else
                        {
                            MessageBox(String.Format(CResourceStore.GetString("CantLoadAssembly"), Page2.Filename),
                                       CResourceStore.GetString("CantLoadAssemblyTitle"),
                                       MB.ICONEXCLAMATION);
                        }
                        nReturnCode = -1;
                        break;
                    }
                }

                X509Certificate x509 = GetCertificate();
                StrongName      sn   = GetStrongName();
                Hash            hash = GetHash();

                // Check to see if the assembly they've selected has a certificate
                if (x509 != null || sn != null)
                {
                    Page3.x509        = x509;
                    Page3.sn          = sn;
                    m_fHasCertOrSName = true;
                    break;
                }
                else
                {
                    // The assembly doesn't have a certificate or a strong name. We'll go to the
                    // page that let's them choose the permission set they want to assign
                    m_fHasCertOrSName = false;

                    // I'd like to just fall through to the next case statement, but that
                    // isn't allowed in C#. We'll need to use a goto instead
                    goto case Page3Index;
                }

            // This page corresponds to the 'how do you want to trust this assembly' when
            // the assembly has a publisher certificate
            case Page3Index:
                // Let's figure out how we can change the policy.

                // First, let's see what happens if we give this app full trust.

                // If we can't get any permissions, then this severely hampers what
                // the wizard can do. This might occur if the level of trust we can grant is
                // limited by an upper policy level. If this is the case, then we need
                // to bail
                int nLevelFromFullTrust = TryToCreateFullTrust();
                if (nLevelFromFullTrust != PermissionSetType.UNKNOWN && nLevelFromFullTrust != PermissionSetType.NONE)
                {
                    // Now, lets see if we can identify the permission set that it currently gets
                    int nCurPerm = FindCurrentPermissionSet();
                    if (nCurPerm != PermissionSetType.UNKNOWN)
                    {
                        // Go to the Slider bar page
                        Page5.MyTrustLevel  = nCurPerm;
                        Page5.MaxTrustLevel = nLevelFromFullTrust;
                        Page5.PutValuesInPage();
                        m_nPageToGetPermissionLevel = Page5Index;
                    }
                    else
                    {
                        // Go to the 'You can only assign full trust' page
                        m_nPageToGetPermissionLevel = Page4Index;
                    }
                }
                else
                {
                    // Else, we can't do anything. The app's permission level is limited by
                    // an upper policy level. Puke out now.
                    m_nPageToGetPermissionLevel = Page6Index;
                }
                // Head off to the page that will let us get a permission set to assign
                SendMessage(GetParent(hwnd), PSM.SETCURSEL, (IntPtr)m_nPageToGetPermissionLevel, (IntPtr)(-1));
                nReturnCode = -1;
                break;

            // This page is for the "You can only give this assembly full trust" page
            case Page4Index:
            // This page gives the slider and allows the user to choose the permission level
            // they want
            case Page5Index:
                // Head off to the summary page
                SendMessage(GetParent(hwnd), PSM.SETCURSEL, (IntPtr)Page7Index, (IntPtr)(-1));
                nReturnCode = -1;
                break;
            }
            int nBaseRet = base.WizNext(hwnd);

            if (nBaseRet == 0)
            {
                return(nReturnCode);
            }
            else
            {
                return(nBaseRet);
            }
        }// WizNext
Ejemplo n.º 16
0
        }// AddMenuItems

        internal override void MenuCommand(int iCommandID)
        {
            if (iCommandID == COMMANDS.ADD_APPLICATION)
            {
                // Pop up a dialog so the user can find an assembly
                CChooseAppDialog cad = new CChooseAppDialog();

                System.Windows.Forms.DialogResult dr = cad.ShowDialog();
                if (dr == System.Windows.Forms.DialogResult.OK)
                {
                    String sConfigFile  = cad.Filename;
                    String sAppFilename = "";

                    // If this is an executable or Dll, or if it is managed
                    int iLen = sConfigFile.Length;
                    if (iLen > 3)
                    {
                        String sExtension = sConfigFile.Substring(sConfigFile.Length - 3).ToUpper(CultureInfo.InvariantCulture);
                        if (sExtension.ToUpper(CultureInfo.InvariantCulture).Equals("EXE") || sExtension.ToUpper(CultureInfo.InvariantCulture).Equals("DLL") || Fusion.isManaged(sConfigFile))
                        {
                            sAppFilename = sConfigFile;
                            // Let's add a config extension
                            sConfigFile = sConfigFile + ".config";
                        }
                        else if (iLen > 6)
                        {
                            // Check to see if they selected a config file
                            sExtension = sConfigFile.Substring(sConfigFile.Length - 6).ToUpper(CultureInfo.InvariantCulture);

                            if (sExtension.ToUpper(CultureInfo.InvariantCulture).Equals("CONFIG"))
                            {
                                // They've selected a config file. Let's see if there is an assembly around there as well.
                                String sAssemName = sConfigFile.Substring(0, sConfigFile.Length - 7);
                                if (File.Exists(sAssemName))
                                {
                                    sAppFilename = sAssemName;
                                }
                            }
                        }
                    }
                    AppFiles appFile = new AppFiles();
                    appFile.sAppFile       = sAppFilename;
                    appFile.sAppConfigFile = sConfigFile;

                    // Check to see if we already have this app file shown
                    CNode node = CheckForDuplicateApp(appFile);
                    if (node == null)
                    {
                        CConfigStore.SetSetting("AppConfigFiles", appFile);
                        node = new CApplication(appFile);
                        int iCookie = CNodeManager.AddNode(ref node);
                        AddChild(iCookie);
                        InsertSpecificChild(iCookie);
                    }
                    CNodeManager.Console.SelectScopeItem(node.HScopeItem);
                }
            }
            else if (iCommandID == COMMANDS.FIX_APPLICATION)
            {
                PolicyManager(CNodeManager.MMChWnd, null, null, null);
            }
        }// MenuCommand