Question

Je finalise une candidature qui sera bientôt soumise pour validation du programme Windows Logo.L'une des exigences est la compatibilité x64.Plus précisément, Crystal Reports 2008 doit fonctionner sous x64.

Mon problème est que Crystal Reports basic 2008 (celui fourni avec Visual Studio 2008) n'a pas de modules de fusion et doit être installé à l'aide des programmes d'installation .msi fournis.Ils proposent des installateurs distincts pour x86 et x64.

Alors, comment puis-je détecter x86 et x64 lors de l'installation, puis exécuter le Crystal msi approprié ?Est-ce même possible sans modules de fusion ?

MODIFIER:

Ce:

IF PROCESSOR_ARCHITECTURE == x86 AND
   PROCESSOR_ARCHITEW6432 NOT DEFINED THEN
   // OS is 32bit
ELSE
   // OS is 64bit
END IF

semble me dire comment le détecter (merci MicSim).Mais comment puis-je effectuer cela dans un MSI ?Est-ce une action personnalisée ?Et puis, comment puis-je déclencher différents msi requis pour les rapports Crystal x32 et x64 ?

Et pourquoi le programme d'installation de Crystal x86 ne fonctionne-t-il pas sous WOW64 ?Vous devez installer x64 Crystal pour fonctionner avec votre application WOW64 x86.Frustrant...

MODIFIER 2 :

D'accord, la détection de x86/x64 semble être abordée ici.Maintenant, que diriez-vous de déclencher manuellement un msi de votre choix ?

Était-ce utile?

La solution

La meilleure façon que je l'ai trouvé pour détecter un système d'exploitation 64 bits est d'utiliser le VersionNT64 propriété. Cette propriété peut être utilisée dans des conditions pour les composants ou des actions personnalisées (par exemple. La condition Non VersionNT64 ne sera vrai pour les systèmes d'exploitation 32 bits).

En ce qui concerne l'installation d'autres packages MSI lors de l'installation, qui est un peu plus délicat. Windows Installer ne permettra un MSI à exécuter le Exécuter la séquence à la fois. Cela signifie que vous devez soit installer Crystal Reports MSI lors de la UI séquence en utilisant une action personnalisée (attention si vous faites cela, le Séquence de l'interface utilisateur est ignorée si le MSI est exécuter en mode silencieux), ou de créer une sorte de programme d'amorçage qui se déroulera à la fois le Crystal Reports MSI et votre propre dans l'ordre.

Je ne l'ai jamais créé mon propre programme d'amorçage, mais InstallShield a un programme bootstrapper intégré dans leur setup.exe; ils appellent les paquets installés ainsi conditions .

Autres conseils

Juste googlé: Si vous avez un projet MSI, vous pouvez vérifier les propriétés comme décrit .

Pour plus d'informations sur le processus et la détection de l'architecture du système d'exploitation que vous pouvez lire ce blog MSDN sur "Comment faire. Détecte processus Bitness"

Vous pouvez déclencher Crystal Reports MSI avec une action personnalisée qui exécute [SystemFolder] msiexec. Il suffit de spécifier "/ i [YourFolderWithCRMSI] msiname.msi" comme les arguments.

Selon ce forum, Crystal Reports inclut désormais un module de fusion pour Visual Studio 2008.

HREF=https://smpdl.sap-ag.de/~sapidp/012002523100005986132008E/cr10_net_mm.zip

Modifier (de l'auteur):Il s'avère que cela ne fonctionne pas pour Crystal Reports fourni avec Visual Studio 2008.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top