I have an application that has been deployed to my client's machine via MSI. The setup.exe includes Crystal Reports merge modules. The embedded Crystal Reports work flawlessly for me in the DEV environment. The reports also work fine for at least one client user on multiple workstations (against the same DEV database). However, when different users log into the same workstations the reports do not work for these other users. (Incidentally, the rest of the application does work for all users on all workstations.)
I write a portion of the stack trace to a log table (the users are remote and I can't get to their event viewer easily). Here's what is being logged:
CreateInstanceImpl | at
System.RuntimeType.CreateInstanceImpl(Boolean publicOnly) at
System.Activator.CreateInstance(Type type, Boolean nonPublic) at
System.Activator.CreateInstance(Type type) at BWMS.frmReports.GetReport(String
strClassName) | GetReport at offset 924 in GetReport at offset 924 in
file:line:column <filename unknown>:0:0 | Exception has been thrown by the
target of an invocation.
Any ideas on why the reports would work for some users but fail for other users on the same workstation
I don't yet know if it's significant but the one user who can successfully run the reports on multiple machines is the administrator who ran the SETUP.exe program and installed the app on the workstations. Is it possible that the app got installed for all users but that a portion of the Crystal Reports merge mdoule did not get installed for the non-administrative users
What may have happened is that when running the setup.exe, the administrator may have left the default value checked, which is to install the setup project "just for me", ie the person who is installing. You want to make sure you change this to the option "install for everyone" option.