示例#1
0
        /// <summary>
        /// Массовая перерегистрация сборок (разрегистрация и регистрация заново) (Разрегистрация для RegSvr32 е реализовано)
        /// </summary>
        /// <param name="assembly">Ссылка на файл сборки</param>
        /// <param name="context">Флаги регистрации</param>
        /// <param name="force">ФЛаг принудительной регистрации (true по умолчанию)</param>
        /// <returns>Возвращает результаты выполненных операций</returns>
        public static Result ReInstall(FileInfo assembly, AssemblyRegContext context, bool force = true)
        {
            RegistrationResult gacResult = RegistrationResult.UnKnown;

            if (context.ContainsFlag(AssemblyRegContext.GAC))
            {
                UnInstall_GAC(assembly);
                gacResult = Install_GAC(assembly);
            }

            var regAsmResult = RegistrationResult.UnKnown;

            if (context.ContainsFlag(AssemblyRegContext.RegAsm))
            {
                UnInstall_ByRegAsm(assembly);
                regAsmResult = Install_ByRegAsm(assembly);
            }

            var regSvrResult = RegistrationResult.UnKnown;

            if (context.ContainsFlag(AssemblyRegContext.RegSvr32))
            {
                //regSvrResult = ResultFromExitcode(Install_ByRegSvr32(assembly));
                regSvrResult = Install_ByRegSvr32(assembly);
            }

            return(new Result(gacResult, regAsmResult, regSvrResult));
        }
示例#2
0
        /// <summary>
        /// Массовая разрегистрация сборок (для RegSvr32 не реализовано)
        /// </summary>
        /// <param name="assembly">Ссылка на файл сборки</param>
        /// <param name="context">Флаги регистрации</param>
        /// <param name="force">ФЛаг принудительной регистрации (true по умолчанию)</param>
        /// <returns>Возвращает результаты выполненных операций</returns>
        public static Result UnInstall(FileInfo assembly, AssemblyRegContext context, bool force = true)
        {
            RegistrationResult gacResult = RegistrationResult.UnKnown;

            if (context.ContainsFlag(AssemblyRegContext.GAC))
            {
                gacResult = UnInstall_GAC(assembly);
            }

            var regAsmResult = RegistrationResult.UnKnown;

            if (context.ContainsFlag(AssemblyRegContext.RegAsm))
            {
                regAsmResult = UnInstall_ByRegAsm(assembly);
            }

            var regSvrResult = RegistrationResult.UnKnown; //не реализовано

            return(new Result(gacResult, regAsmResult, regSvrResult));
        }