So in an MSI sense you have a custom action in the InstallUISequence which accepts (per dialog) and validates a serial number. But what does "verify" mean? Do you set a variable which is checked in another action?
In repair mode your serial number dialog is not shown, right? So verification must take place somewhere else. Maybe you can give further details here.
MessageBox.Show("No value in first text box");
panel2.Visible = false;
panel3.Location = panel2.Location;
panel5.Size = panel5.Size - panel2.Size;
int hight=this.Size.Height -panel2.Size.Height;
this.Size = new System.Drawing.Size(this.Width,hight);
here am trying to eliminate the space left after hiding a panel2
I am trying to create a CPU Usage monitoring application. I am using PerformanceMonitor to do it. However as I was observing the data from Task Manager's CPU Usage column (Process Tab) and Performance Monitor (Process - % Processor Time) readings, they don't seem to coincide at all (Not even close). I tried to change the Performance Monitors sampling interval, but I can't seem to make the 2 coincide.
I do not know if this is possible, but it is worth a try.
I am currently integrating with a module from Accpac. By using the dll's. The data you insert through the dll is very specific. If i run the macro generated from Accpac, it will return a message to me. eg. The invoice nr have been used. But when the error is in c# i just get a Com Exception.
I want to be able to get the message from the dll, to show as exception in C#..
I have an object that creates an expensive COM object as soon as my object's Constructor is called. This COM object is treated as a private field in my object.
My object is then responsible releasing that COM object. Not releasing it is expensive and problematic.
So I put the release code for the COM object in my object's destructor, assuming my object's destructor would be called as soon as my object was set to NULL or went out of scope. However, this is not the case. My object's destructor is not called until the garbage collector runs.
This is a problem. I need my object to release the COM object as soon as it's not needed anymore. If I don't, there are problems with the COM server application - ie, it won't close, etc.
How can I insure that my object releases the COM object as soon as my object is set to null, or goes out of scope? Where do I put the COM release code?
You can't. You can use the dispose/finalise mechanism to let your users call Dispose to close it, or for finalise to do it when the object is GC, if dispose was not called. Welcome to garbage collection.
No longer a Microsoft MVP, but still happy to answer your questions.