jeu. 04 janvier 2024, 18h24
lud57330
France
atoutfox.public.association
Re: Manifest FoxPro
Bonsoir, malheureusement j'ai utilisé cet article ainsi qu'un autre sur le site. Je n'ai pas trouvé grand chose sur google non plus d'ailleurs.
Actuellement je sais faire une dll Com Fox Pro pour l'utilisé avec du C# (avec manifeste).
Je sais faire une dll Com C# utilisable en Fox Pro si elle est correctement enregistré sur le poste.
Je sais utilisé la dll C# (com) sur un programme C# si enregistré et je sais aussi faire le manifeste pour l'application C# qui permet de ne pas faire l'enregistrement de la dll.
Sur Visual Fox Pro, le run du projet fonctionne parfaitement. La compilation du projet en un .exe fonctionne aussi si la dll est enregistré. Par contre c'est le manifeste qui n'est pas bon. L'exe compiler avec le manifeste n'arrive pas à utilisé la dll déclaré dedans.
Le manifeste C#:
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<file name="CsharpWindowsActiveX.dll">
<comClass description="CsharpWindowsActiveX.ActiveXUserControl"
clsid="{9E157775-6909-3E8E-8112-B0DFBDDB3BA9}"
tlbid="{134ab9c3-3472-4513-8c1d-9a7a5be9d604}"
progid="CsharpWindowsActiveX.ActiveXUserControl"
threadingModel="Both"/>
</file>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- Options du manifeste de contrôle de compte d'utilisateur
Si vous souhaitez modifier le niveau du contrôle de compte d'utilisateur Windows, remplacez le
nœud requestedExecutionLevel par l'une des propositions suivantes.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
La spécification de l'élément requestedExecutionLevel désactive la virtualisation de fichiers et du Registre.
Supprimez cet élément si votre application a besoin de la virtualisation pour des
raisons de compatibilité descendante.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!-- Liste des versions de Windows pour lesquelles cette application a été testée,
et sur lesquelles elle doit fonctionner. Décommentez éléments appropriés,
et Windows va automatiquement sélectionner l'environnement le plus compatible. -->
<!-- Windows Vista -->
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
<!-- Windows 7 -->
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
<!-- Windows 8 -->
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
<!-- Windows 8.1 -->
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
<!-- Windows 10 -->
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
</application>
</compatibility>
<!-- Indique que l'application prend en charge DPI et qu'elle n'est pas automatiquement mise à l'échelle par Windows à un niveau de
DPI plus élevé. Les applications WPF (Windows Presentation Foundation) prennent automatiquement en charge DPI et n'ont pas besoin
d'opter pour ce choix. Les applications Windows Forms qui ciblent .NET Framework 4.6 et qui optent pour ce paramètre doivent
également affecter la valeur 'true' au paramètre 'EnableWindowsFormsHighDpiAutoResizing' dans leur fichier app.config.
Permet à l'application de prendre en charge les chemins longs. Consultez
https://docs.microsoft.com/windows/win32/fileio/maximum-file-path-limitation -->
<!--
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<dpiAware xmlns="
http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
<longPathAware xmlns="
http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
</windowsSettings>
</application>
-->
<!-- Activer les thèmes pour les contrôles et boîtes de dialogue communes de Windows (Windows XP et version ultérieure) -->
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
-->
</assembly>
Le Manifest VFP:
<?xml version="1.0" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" type="win32" name="Microsoft.VisualFoxPro" processorArchitecture="x86"/>
<file name="CsharpWindowsActiveX.dll">
<comClass description="CsharpWindowsActiveX.ActiveXUserControl"
clsid="{9E157775-6909-3E8E-8112-B0DFBDDB3BA9}"
tlbid="{134ab9c3-3472-4513-8c1d-9a7a5be9d604}"
progid="CsharpWindowsActiveX.ActiveXUserControl"
threadingModel="Both"/>
</file>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Il manque peut-être un petit truc mais je sais pas quoi
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000020156