New behavior in SQLPackager 5
Macromullet
Posts: 4
I just updated from SQLPackager 4 to SQLPackager 5 as part of a bundle update and I'm a little confused by some of the new things. Some are good (its nice being able to see the database path etc without having to go into advanced options every time), but others are not so good...
Specifically, the output is now a console application. I can see in the generated code it dynamically unwraps the windows code into a separate AppDomain which then executes. This causes an annoying flicker when launching the application via any shell api, like Process.Execute(). I thought about changing the app to be a windows application but thought I'd post first. I'm sure there is some technical reason why this has changed, but it causes a bad side effect.
The other annoyance is that the default logging of batches is pretty ugly for end users. By doing this:
String.Format("{0} {1} - {2}", assemblyName, sqlBatches.BatchesEnumerator.PackageName, sqlBatches.BatchesEnumerator.BatchName);
It ends up printing text that looks like this:
SQLPackage.exe Package1.resx - BatchXYZ
I ended up having to comment out that line because it would most likely confuse an end user. I can see it being useful in debugging or as an indicator of progress, but with the current text I think it's confusing.
Anyway, just my 2c. If you can provide a workaround for the console issue that would be great. Ideally i want to UI to come up immediately as I'm using this product to package our database as part of an installation.
Specifically, the output is now a console application. I can see in the generated code it dynamically unwraps the windows code into a separate AppDomain which then executes. This causes an annoying flicker when launching the application via any shell api, like Process.Execute(). I thought about changing the app to be a windows application but thought I'd post first. I'm sure there is some technical reason why this has changed, but it causes a bad side effect.
The other annoyance is that the default logging of batches is pretty ugly for end users. By doing this:
String.Format("{0} {1} - {2}", assemblyName, sqlBatches.BatchesEnumerator.PackageName, sqlBatches.BatchesEnumerator.BatchName);
It ends up printing text that looks like this:
SQLPackage.exe Package1.resx - BatchXYZ
I ended up having to comment out that line because it would most likely confuse an end user. I can see it being useful in debugging or as an indicator of progress, but with the current text I think it's confusing.
Anyway, just my 2c. If you can provide a workaround for the console issue that would be great. Ideally i want to UI to come up immediately as I'm using this product to package our database as part of an installation.
Comments
I'm aware that the console handling had changed a bit -- probably to make it compatible with Windows 2000 operating systems, where the previous version of Packager worked the other way running a windows forms application that changed into a console application with the addition of the /quiet switch.
We can ceratinly take your suggestions on-board. Thanks!
Red Gate Software Ltd