Preemptive analytics visual studio components что это
According to the error message "the setup is completed. However, not all features installed correctly", I found the article below. Please check the related content.
Multiple feature installation errors occur after warning about certificate updates is ignored
When you installed Visual Studio on Windows 7, you encountered the following warning:
Installation errors may occur because the security certificate updates that are required to install some Visual Studio components cannot be applied to this computer.
If you then click Continue to proceed with the Visual Studio installation, you may encounter Unable to locate package source errors that are not resolved via the Download packages from the internet option. When the Visual Studio installation finishes, you see the following message:
Setup Completed. However,not all features installed correctly.
You are also shown a list of multiple features that could not be installed because The system cannot find the file specified. To fix the issue, try the following methods:
- Ensure that you are on a machine that is connected to the internet. In some cases, Visual Studio is able to programmatically retrieve and then apply the required certificate updates so that the affected features can be successfully installed.
- Check the group policy setting on your machine that controls automatic certificate updates. To check the setting, press Start + R and then enter gpedit.msc . From the Local Group Policy Editor, under Computer Configuration, under Administrative Templates, under Internet Communication Management, click Internet Communication settings. The setting that controls automatic certificate updates is Turn off Automatic Root Certificates Update. For Visual Studio to automatically retrieve and apply the required certificates, this setting should be Disabled. We recommend that you contact your system administrator before you modify any group policy setting.
- If the above steps do not resolve the issue, you can also attempt to manually install the required certificate updates. For information on how to obtain Windows update root certificates see the following Microsoft Knowledge Base article:
- Хотя Dotfuscator включен в Visual Studio, PreEmptive Solutions периодически выпускает важные обновления Dotfuscator между выпусками обновлений Visual Studio. Установка Dotfuscator таким способом гарантирует, что вы получаете самую свежую версию.
- Чтобы зарегистрироваться позже (register later) или проверить свой статус регистрации, найдите текст Registration status (статус регистрации) в правом верхнем углу стартовой страницы Dotfuscator Community Edition.
- Перейдите в установочный каталог для вашей установки Visual Studio 2017. Например, установочный каталог по умолчанию для Visual Studio 2017 Professional — это C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional.
- В этом каталоге находятся файлы расширения Dotfuscator Community Edition в *\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE.
- Файл dotfuscatorCLI.exe — это интерфейс командной строки Dotfuscator Community Edition.
- Запишите полный путь к EXE-файлу для использования в будущем.
- Ensure that you are on a machine that is connected to the internet. In some cases, Visual Studio is able to programmatically retrieve and then apply the required certificate updates so that the affected features can be successfully installed.
- Check the group policy setting on your machine that controls automatic certificate updates. To check the setting, press Start + R and then enter gpedit.msc . From the Local Group Policy Editor, under Computer Configuration, under Administrative Templates, under Internet Communication Management, click Internet Communication settings. The setting that controls automatic certificate updates is Turn off Automatic Root Certificates Update. For Visual Studio to automatically retrieve and apply the required certificates, this setting should be Disabled. We recommend that you contact your system administrator before you modify any group policy setting.
- If the above steps do not resolve the issue, you can also attempt to manually install the required certificate updates. For information on how to obtain Windows update root certificates see the following Microsoft Knowledge Base article:
Please note that this error applies only to Windows 7 SP1; Windows 8 and newer have these certificate updates installed by default.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.
Over the past couple of years there’s been a growing connection between development and operations. The “old” world where development teams throw applications over the wall at ops is disappearing the same way the world where developers threw applications over the wall at test did. Whether you’re talking about continuous deployment, DevOps or “Build, Measure, Learn”, these are all catchy phrases that are various aspects of getting the development team connected more closely with the customer and with the application in production.
I’ve had the privilege of living this life for the past couple of years as we’ve been bringing the Team Foundation Service to life. It’s really challenged me to think about the world in a different way. Over the next couple of months, I’m going to try to write a series of posts that shares some of the things I’ve been learning along the way. One of those things, though, is that you have to have very good visibility into production. Without it you will have a low quality, expensive, undesirable service. With it you can solve problems before your customers even realize they exist, prioritize work based on what people actually use, test changes to see how it affects user behavior, drive your costs (both hard and soft) to the lowest level possible and much, much more.
In the last year or so, we’ve started to make some significant investments to help with this. The first was the Team Foundation Server and System Center integration we announced about a year ago that enables production tickets to be “escalated” to TFS along with all of the diagnostic information. Another coming in the VS 11 release is Intellitrace in production that allows you to get detailed diagnostic data from your production environment. We’ve also announced some follow on improvements coming to Intellitrace in production that will be available this fall.
Another area we’ve been working is in production telemetry. We’ve partnered with Preemptive (the makers of Dotfuscator) on a basic telemetry included with Team Foundation Server/Visual Studio 11 called PreEmptive Analytics for TFS Community Edition. This built in capability allows you to instrument your application and receive reports from your users on any crashes they experience. The reports are analyzed, correlated with other reports and distilled to a set of “production incidents” that appear to be the same underlying cause. These show up as work items in your Team Foundation Server database. You can also purchase the Pro edition and get additional capabilities like the ability to analyze what features of your application get the most use, etc.
This kind of telemetry has been an important part of our process in Visual Studio for many years. We view it as a critical part of understanding the experience real customers are having, addressing the issues they are having and measuring our progress. We create a number of reports and set goals for every release. For instance, here’s a list of the top 10 crashing bugs in the VS 11 Beta reported by real user telemetry and the current status of the bug.
Давайте говорить честно: выпуск библиотеки, приложения для рабочего стола или мобильного приложения может стать горьким опытом. Как только вы выкладываете вашу программу в открытый доступ для всего мира, вы в определенной степени утрачиваете контроль над тем, как она используется. В частности, разработчики часто имеют дело с угрозой обратной разработки.
На многих платформах и во многих языках известным способом защиты от обратной разработки являются инструменты запутывания кода. Например, если вы — разработчик на платформе Android, вы, возможно, уже пользуетесь ProGuard для сокращения и обфускации кода на Java.
Теперь разработчики Xamarin имеют доступ к защите того же типа по всем основным семействам мобильных устройств, от Android и iOS до Universal Windows (UWP). Инструмент для работы называется Dotfuscator, версия Community Edition которого доступна в Visual Studio.
Сегодня мы рассмотрим, как обфускация может защитить приложение Xamarin. Android от обратной разработки, и как вы сможете применить ту же защиту для ваших собственных приложений Xamarin всего за несколько простых шагов.
Как обфускация защищает приложения
Обфускация — это процесс, в ходе которого компилированный код приложения трансформируется в функционально идентичный код, который труднее подвергнуть обратной разработке. Обычно это делается с помощью инструмента автоматической обфускации или обфускатора. Далее приводится простой пример для иллюстрации, как запутывание кода защищает приложения от обратной разработки.
Когда разработчики этой игры готовы встроить ее в устройство или выгрузить в магазин приложений, они компилируют исходный код в библиотеки и затем упаковывают эти библиотеки в пакет приложений. В данном примере разработчики упаковали библиотеки в файл APK для распространения на устройствах на платформе Android.
Однако, как только приложение выложено в магазин приложений, «плохой человек» может легко получить и вскрыть APK, генерируя декомпилированный код, который почти идентичен исходному коду в оригинале:
Обратите внимание, что тип, метод и идентификаторы элементов здесь те же, что и в исходном коде, даже если элементы кода обычно недоступны за пределами проекта (например, имеют маркировку internal («внутренний»)). Также обратите внимание, что поток общих команд метода, например, порядок операторов if («если»), отчетливо виден.
Если до распространения APK разработчики уже запускали библиотеки через версию Dotfuscator Community Edition, результаты обратной разработки будут иными:
Код защищен обфускацией при переименовании — основной формой обфускации кода. Свойства с простейшими именами, например, ArrowsOnHand , заменены методом присвоения имен, не относящихся к интуитивно понятным, например, b и g. Другие элементы кода также аналогично переименованы. Это сильно затрудняет чтение и формирование декомпилированного кода, поскольку отсутствуют важные контекстуальные ключи, обеспечиваемые именами.
Как подвергнуть ваше приложение обфускации
Теперь давайте перейдем к тому, как интегрировать обфускацию при переименовании с помощью Community Edition версии Dotfuscator'а в процесс сборки вашего приложения Xamarin. В качестве примера мы будем использовать приложение Xamarin.Android, упомянутое в предыдущем разделе. Вы можете повторить все с вашим собственным приложением Xamarin, включая версии для iOS и UWP.
Примечание: Эти шаги предполагают, что вы разрабатываете ваше приложение в VisualStudio 2017 для Windows.
Установка и настройка Dotfuscator
Прежде всего, вам нужно установить Dotfuscator на вашу машину для разработки. Поскольку мы используем интерфейс командной строки Dotfuscator, вам также нужно будет зарегистрировать вашу копию и записать путь к интерфейсу.
Чтобы установить и настроить Dotfuscator:
1. Зайдите на страницу Dotfuscator Downloads (Загрузки) на сайте PreEmptive Solutions.
2. Загрузите последнюю версию Dotfuscator Community Edition (CE) для Visual Studio 2017.
Загрузите файл интеграции сборки
Чтобы упростить процесс интеграции, коллектив Dotfuscator создал файл-цель MSBuild targets, на который могут ссылаться ваши проекты Xamarin. Вы можете скачать его здесь.
Сохраните файл PreEmptive.Dotfuscator.Xamarin.targets в каталог с вашим решением, под контролем версий.
Измените Проект под использование интеграции сборки. Далее вам нужно изменить файл проекта для проекта в Visual Studio, который вы хотите подвергнуть обфускации.
Чтобы изменить ваш файл проекта:
Конфигурация переименования
Есть некоторые случаи, когда приложение предполагает, что имя элемента кода во время компиляции будет таким же, как во время работы приложения. Это, в частности, верно для приложений Xamarin на основе XAML и рефлексии. Обфускация путем переименования может нарушить эту предпосылку и привести к тому, что приложение после обфускации будет вести себя по-другому.
Хотя более новые версии Dotfuscator больше способны работать с такими сценариями автоматически, в некоторых случаях может потребоваться конфигурация вручную. Инструкции и примеры см. на странице «Идентифицировать исключения из переименования» в Руководстве Пользователя Dotfuscator.
Продвинутая обфускация
Вместо бесплатной версии Dotfuscator Community Edition вы можете также подвергнуть ваши приложения Xamarin обфускации в версии Dotfuscator Professional Edition. Версия Professional Edition лицензирована для использования в коммерческих продуктах, бесплатные пробники есть в наличии по запросу.
Чтобы увидеть разницу между версиями Community и Professional, рассмотрим пример игры, упомянутый выше. Если разработчики пропустили свои каталоги через Dotfuscator Professional Edition вместо Community Edition, результаты обратной разработки будут выглядеть примерно так:
В дополнение к обфускации путем переименования этот код также подвергнут обфускации путем изменения потока управления. Операторы исходного кода перемежаются сложными для восприятия блоками «переключения» в кажущемся произвольным порядке, что сильно затрудняет выполнение команд. Эта и другие продвинутые формы обфускации содержатся исключительно в Dotfuscator Professional Edition.
Выводы
В этом посте мы увидели, как можно использовать Dotfuscator для защиты каталогов и приложений Xamarin от обратной разработки. Хотя мы использовали в качестве примера приложение на основе Android, те же самые шаги можно выполнить и для проектов на основе iOS и UWP, поэтому вы можете защитить ваше приложение независимо от того, на какой платформе оно работает.
Более подробные сведения о том, как защитить проекты Xamarin с помощью Dotfuscator, см. на странице Xamarin в Руководстве Пользователя Dotfuscator. Там вы также найдете гит-репозиторий, демонстрирующий, как интегрировать Dotfuscator в приложение Xamarin для всех трех платформ.
Выражаем большое спасибо за подготовку статьи Игорю Щегловитову, старшему инженеру по тестированию из Лаборатории Касперского, за помощь в написании данной статьи и ценный практический опыт. Остальные наши статьи по теме Azure можно найти по тегу azureweek, а также по тегу mstesting — статьи по тестированию.
При подключении и настройки пакета AI он по умолчанию начинает собирать некоторые метрики, например для вебприложений это информация по запросам к веб серверу, а также различные серверные счетчики (например, время запроса, загрузка CPU). Помимо этого, AI имеет расширенное API, которое позволяет сохранять кастомные и бизнес-счетчики и логи.
Наша команда занимается разработкой облачных сервисов Azure. Логи сохраняются в Azure Storage, а счетчики производительности (серверные и перфоманс), читаются и анализируются в автоматическом режиме отдельным сервером мониторинга. Для логирования мы используем Serilog. В отличие от других логгеров, он (из коробки) позволяет писать структурные логи, выделяя отдельные свойства.
В настоящее время для множества популярых логгеров, таких как Serilog, log4net, Nlog существуют дополнения, которые позволяют перенаправлять логи в AI. Если вы пользуетесь данными логерами, а также имеете активную подписку Azure, то можете попробовать в бесплатном режиме возможности AI.
Ниже пример настройки Serilog для сохранения логов в AI:
Через NuGet подключаем пакет Serilog.Sinks.ApplicationInsights:
(данный пакет автоматически подключит зависимый от него Application Insights API)
Далее, при конфигурировании логера Serilog, надо указать расширение ApplicationInsights, например, вот так:
В Azure портале предварительной версии создаем новый контейнер Application Insigts
После создания, на вкладке “Основное” копируем ключ инструментирования
Теперь в коде перед стартом приложения следует прописать:
Если же вы, например, используете логирование Nlog, то для перенапрвления логов в AI достаточно подключить пакет “Application Insights Nlog Target”
После этого в конфиге приложения автоматически появится секция:
Основная проблема при использовании NLog — он позволяет писать только строки, без настраиваемых свойств. Кроме использования логеров, пользовательские события в AI можно отправлять и через API, вот пример:
Теперь, после запуска приложения, логи будут перенаправляться в AI.
В отличие от лог-форвадеров, явное использование AI API позволяет писать телеметрию в разные контейнеры AI. Это удобно, когда у вас крупное приложение, состоящее из множества компонент: сервисов, веб интерфейса и тп. В этом случае при отправке телеметрии в AI, в экземплярах TelemetryClient вы можете явно задавать свойство InstrumentationKey.
Например, для вашего приложения вы создали три разных контейнера: один для анализа производительности, другой для логов, третий для мониторинга пользовательской активности. Что касается последнего, для анализа пользовательской активности UI приложений в AI API предусмотрен специальный метод TrackPageView. Вы можете сохранять данные, по каким страницам (вкладкам) заходил тот или иной пользователь (напомню, что сохранять события в AI можно и непосредственно в JavaScript-коде), на основе чего можно делать какие либо выводы.
Также добавлю, что вы можете настроить экспорт телеметрии AI для дальнейшего анализа в Azure Blobs. Удобный интерфейс поиска позволит вам находить нужные пользовательские события через Azure портал. На скриншоте видно, как в отображаются свойства одного из моих сохраненных логов.
Причем каждое логируемое отдельно свойство индексируется и вы можете фильтровать логи по конкретному его значению, через меню фильтра:
Это очень удобно, т.к. позволяет отслеживать появление новых событий, например, каких-то новых исключений.
Сам интерфейс поиска логов очень простой, кроме стандартных фильтров, вы можете писать различные запросы к вашим логам (более подробно в документации).
Помимо логов, если у вас веб-приложение (например MVC Web API), то, подключив Nuget пакет Application Insights Web (без каких либо дополнительных настроек), в AI будет попадать информация по всем веб запросам.
Помимо этого, на вкладке “Серверы” будут доступны различные серверные счетчики производительности (CPU, Memory …). По умолчанию их не так много, но через ApplicationInsights.config вы можете добавить те счетчики, которые вам нужны.
Используя функциональность правил оповещения, вы можете создать правило, при наступлении которого на заданный e-mail будет приходить соответсвующая нотификация (например, превышено пороговое значение CPU).
Если вкратце, то под диагностическим адаптером в данном контексте понимается сборка, содержащая специальный класс, который наследуется от Microsoft.VisualStudio.TestTools.Execution.DataCollector. Если тест агент настроен на использование данного диагностического адаптера, то во время выполнения теста запускаются соответсвующие событие, логика которого определена в методах OnTestCaseStart, OnTestCaseEnd. В этих методах, у вас есть доступ к контексту теста, в том числе к его названию, состоянию и тп. Вот пример реализации диагностического адаптера:
После реализации диагностического адаптера, сборку с ним надо подложить на все сервера с установленными тестовыми агентами (включая машину, на которой происходит конфигурирование настроек Lab Management), в папку %Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\DataCollectors.
Далее запустить MTM, и поставить галочку напротив адаптера.
According to the error message "the setup is completed. However, not all features installed correctly", I found the article below. Please check the related content.
Multiple feature installation errors occur after warning about certificate updates is ignored
When you installed Visual Studio on Windows 7, you encountered the following warning:
Installation errors may occur because the security certificate updates that are required to install some Visual Studio components cannot be applied to this computer.
If you then click Continue to proceed with the Visual Studio installation, you may encounter Unable to locate package source errors that are not resolved via the Download packages from the internet option. When the Visual Studio installation finishes, you see the following message:
Setup Completed. However,not all features installed correctly.
You are also shown a list of multiple features that could not be installed because The system cannot find the file specified. To fix the issue, try the following methods:
Please note that this error applies only to Windows 7 SP1; Windows 8 and newer have these certificate updates installed by default.
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.
Читайте также: