Я хочу обнаружить установленный бесплатный Pascal (о версии, установить каталог ...) на моем компьютере с Windows. С помощью C#, как найти информацию о FPC в реестре Windows?Как установить установленный Free Pascal на компьютер под управлением Windows?
ответ
Free Pascal является открытым исходным кодом, то innoscript файл для программы установки available
Из этого вы можете видеть, что есть две группы ключей реестра:
- Расширения, зарегистрированные на текстовую IDE, если установлен
- каталог добавляется в PATH
И в отличаясь способами, в зависимости от того, если установка побегать s admin или нет, в соответствии с результатом функций IsHKLM (Not) Записываемый
Версии, поставляемые с Lazarus, установлены другим установщиком, и, следовательно, другой скрипт.
И тогда есть люди, которые строят вручную. FPC не нуждается в какой-либо конфигурации системы, поэтому, если система упаковки (setup, msi и т. Д.) Этого не делает, единственное, что нужно сделать, это либо поиск на диске для fpc.exe, либо, вероятно, такие места, как c: \ fpc \ bin \ i386-win32 и c: \ lazarus \ fpc \ bin \ i386-win32
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using System.Management;
namespace ConsoleApplication7
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(IsProgramInstalled("Free Pascal"));
Console.ReadKey();
}
public static bool IsProgramInstalled(string programDisplayName)
{
Console.WriteLine(string.Format("Checking install status of: {0}", programDisplayName));
foreach (var item in Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall").GetSubKeyNames())
{
object programName = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + item).GetValue("DisplayName");
string n = (string)programName;
if (n!= null && n.Contains(programDisplayName))
{
Console.WriteLine("Install status: INSTALLED");
Console.WriteLine(programName);
Console.WriteLine(Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + item).GetValue("InstallLocation"));
return true;
}
}
Console.WriteLine("Install status: NOT INSTALLED");
return false;
}
}
}
Помните, что программа может быть доступна просто «PATH» и не имеет никакого «Следы» в реестре? – Abelisto
как использовать PATH? Мой код выше работает правильно? –
Приведенный выше код работает правильно, чтобы найти вещи в реестре для программ, установленных установщиком Windows. Но, как уже было сказано, FPC не всегда устанавливается установщиком Windows и может не иметь записи в реестре. Он даже не должен иметь запись в переменной среды PATH, так как это может быть сделано даже с задержкой, то есть только при вызове FPC, например. в пакетном файле. Как так? Потому что некоторые люди не используют установщик и устанавливают все вручную, как им это нравится. –
- 1. Процедуры на Free Pascal
- 2. Как установить Pygame для Python 3.4.3 на 32-разрядный компьютер под управлением Windows 7?
- 3. Как установить бесплатную Mac OS X (10,9 Mavericks) на компьютер под управлением Windows?
- 4. Как установить путь автоматически при входе при ssh'ing на компьютер под управлением Windows?
- 5. Могу ли я установить IIS 6 или 7 на компьютер под управлением Windows XP?
- 6. Pascal Readln перезагружает компьютер
- 7. Как использовать PHP на моем компьютере под управлением Windows 7?
- 8. Docker под управлением Windows-приложений
- 9. Есть ли способ автоматического входа на компьютер под управлением Windows XP в определенное время?
- 10. Free Pascal Online IDE
- 11. Как загрузить ZIP-файл из Интернета на компьютер под управлением Windows с помощью PowerShell через Ansible?
- 12. Как установить rJava для использования с 64-битным R на 64-битном компьютере под управлением Windows?
- 13. Как установить источники Maven под управлением версии?
- 14. Запуск симулятора Windows 8.1 на компьютере под управлением Windows 10
- 15. Как установить sqlite3 на Debian под управлением Node.js?
- 16. Возможно ли передавать приложение iOS через USB-порт на компьютер под управлением Windows?
- 17. Виртуальный метод Таблица на Free Pascal
- 18. Как преобразовать процедуру сброса с Sun Pascal в Free Pascal?
- 19. База данных в Free Pascal
- 20. Тип RawByteString в Free Pascal
- 21. Free-Pascal Реализация решета Эратосфена
- 22. Почему Free Pascal печатает «НЕТ»?
- 23. Decimal to binary Free Pascal
- 24. Как запустить файл .exe на любом компьютере под управлением Windows?
- 25. Как виртуализировать iOS на компьютере под управлением Windows 7
- 26. Невозможно установить Free Pascal 2.6.0 на OS X 10.7.3 с Xcode 4.3
- 27. Free Pascal: быстрое и эффективное чтение файлов
- 28. Как установить права на чтение и запись в Apache на компьютере под управлением Windows
- 29. Как получить конфигурационную папку/файл на разных платформах под Free Pascal/Lazarus?
- 30. Подключение к Subversion, размещенному на компьютере под управлением Windows XP?
Вы пишете код, как правило. что ты уже испробовал? –
Почему вы хотите это сделать. В конце концов, есть много разных способов заставить FPC на машине –
Попробуйте 'C: \> где fpc' получить местоположение программы и' C: \> fpc -iW -iD', чтобы получить версию и дату FPC (используя командная строка). Если он работает, то вы можете просто использовать его в приложении C#, вызывая 'cmd' и вылавливая его вывод. – Abelisto