Иконка ресурса

DLL Is-All.dll Обновленный пример

Нет прав для скачивания

MCV

Новичок
Пользователь MCV разместил новый ресурс:

Is-All.dll - Библиотека добавляет дополнительные функции в Inno Setup

Эта библиотека добавляет 15 дополнительных функций в Inno Setup
Полный контроль панели задач в Windows Vista или более поздних версиях
Изменение приоритета процесса
Функция для получения значения «Application Handle»
Добавление или удаление исключений в брандмауэре Windows
Поддерживает воспроизведение музыки из памяти.

Кредиты для: Krinkels. помогая проекту в его начале

При необходимости, эта библиотека будет изменена, если вы желаете одну или несколько дополнительных функций для этой...
Узнать больше об этом ресурсе...
 

agent555

Участник
MCV, Hello, can you tell me pls, song name?
All what need it add that code in my script, and it will work, right?
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
agent555,
Код:
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
OutputDir=.

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Icons]
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}

[ code]
// Вспомогательные функции для установки Inno
// Используется для добавления / удаления программ из правил брандмауэра Windows
// Код, родом из http://news.jrsoftware.org/news/innosetup/msg43799.html

const
  NET_FW_SCOPE_ALL = 0;
  NET_FW_IP_VERSION_ANY = 2;

procedure SetFirewallException(AppName,FileName:string);
var
  FirewallObject: Variant;
  FirewallManager: Variant;
  FirewallProfile: Variant;
begin
  try
    FirewallObject := CreateOleObject('HNetCfg.FwAuthorizedApplication');
    FirewallObject.ProcessImageFileName := FileName;
    FirewallObject.Name := AppName;
    FirewallObject.Scope := NET_FW_SCOPE_ALL;
    FirewallObject.IpVersion := NET_FW_IP_VERSION_ANY;
    FirewallObject.Enabled := True;
    FirewallManager := CreateOleObject('HNetCfg.FwMgr');
    FirewallProfile := FirewallManager.LocalPolicy.CurrentProfile;
    FirewallProfile.AuthorizedApplications.Add(FirewallObject);
  except
  end;
end;

procedure RemoveFirewallException( FileName:string );
var
  FirewallManager: Variant;
  FirewallProfile: Variant;
begin
  try
    FirewallManager := CreateOleObject('HNetCfg.FwMgr');
    FirewallProfile := FirewallManager.LocalPolicy.CurrentProfile;
    FireWallProfile.AuthorizedApplications.Remove(FileName);
  except
  end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep=ssPostInstall then
     SetFirewallException('My Server', ExpandConstant('{app}')+'\TCPServer.exe');
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep=usPostUninstall then
     RemoveFirewallException(ExpandConstant('{app}')+'\TCPServer.exe');
end;
 

MCV

Новичок
sergey3695, на лист компонентов такое реально добавить? Т.е поставил галочку срабатывает код и добавляет в исключения, не добавил, не срабатывает ? Я как-то делал похожее, здесь (на сайте, пример через dllку) есть пример, только почему-то не срабатывало.
MCV, at beginning it work, but later get another error
Попробуйте эту версию и расскажите мне, как это происходит, кроме того, я хотел бы знать, какая у вас операционная система.
Try this version and tell me how it goes, additionally I would like to know what operating system you have.
 

Вложения

Andreo Fadio

Старожил
procedure SetFirewallException(AppName,FileName:string); var FirewallObject: Variant; FirewallManager: Variant; FirewallProfile: Variant; begin try FirewallObject := CreateOleObject('HNetCfg.FwAuthorizedApplication'); FirewallObject.ProcessImageFileName := FileName; FirewallObject.Name := AppName; FirewallObject.Scope := NET_FW_SCOPE_ALL; FirewallObject.IpVersion := NET_FW_IP_VERSION_ANY; FirewallObject.Enabled := True; FirewallManager := CreateOleObject('HNetCfg.FwMgr'); FirewallProfile := FirewallManager.LocalPolicy.CurrentProfile; FirewallProfile.AuthorizedApplications.Add(FirewallObject); except end; end;
странная процедура 50\50 шанс раскрашить установку в момент отработки, при этом даже ошибки не высвечивает, как будто установка прошла.
 
Сверху