I finallly released the first version of my second product. It is a limited version and is available free to anyone who registers on the website. I'm only a couple of months late..
The next step is to create a paid version. That will be the real test. It will be the first time I am attempting to sell my software to users. Although I've gotten funding for this project, I need to be able to sell it to develop a viable business. I figure I'm a couple of months from that release, assuming no more child care snafus.
Friday, April 25, 2008
Monday, April 21, 2008
Error code 2869
I was about to release my second free product last week when a new version of the 3rd party application my product runs on came out. So I am in the process of creating a new install for the new version of that application. I am planning to release two versions of my product, one compatible with the older version of the 3rd party application, and one compatible withe the brand new version.
So I'm testing the installer today and I keep getting this error message:
The installer has encountered an unexpected error installing the package. This may indicated a problem with this package. The error code is 2869.
It sounds vaguely familiar like I ran into this when I did the original install. I do a google search and see that it is related to running installers on Windows Vista. That figures. When I got my new laptop, choices for new laptops running Windows XP were limited, so I got a Windows 64-bit Vista operating system. Maybe someday when the software programs I use take advantage of the 64-bit-ness, I will appreciate it, but mostly it just seems to cause me problems like this. The install ran fine the first time I ran it on my old Windows XP machine.
Misha Shneerson's article makes me think the problem has to do with the custom action I'm calling during the installation to edit an INI file. But I don't know what to do about that. Then I found Paulo Reichert's blog where a user's comment suggests calling msiexec /a "path-to-package.msi", which runs the setup program as an Administrator, and that solves the problem. But I hate for my users to have to go to that trouble. Hopefully they have Windows XP.
So I'm testing the installer today and I keep getting this error message:
The installer has encountered an unexpected error installing the package. This may indicated a problem with this package. The error code is 2869.
It sounds vaguely familiar like I ran into this when I did the original install. I do a google search and see that it is related to running installers on Windows Vista. That figures. When I got my new laptop, choices for new laptops running Windows XP were limited, so I got a Windows 64-bit Vista operating system. Maybe someday when the software programs I use take advantage of the 64-bit-ness, I will appreciate it, but mostly it just seems to cause me problems like this. The install ran fine the first time I ran it on my old Windows XP machine.
Misha Shneerson's article makes me think the problem has to do with the custom action I'm calling during the installation to edit an INI file. But I don't know what to do about that. Then I found Paulo Reichert's blog where a user's comment suggests calling msiexec /a "path-to-package.msi", which runs the setup program as an Administrator, and that solves the problem. But I hate for my users to have to go to that trouble. Hopefully they have Windows XP.
Thursday, April 10, 2008
Corporate Use
I had a woman at a large firm yesterday contact me about using the free tool I have for download on my website in a corporate setting. My click-wrap license agreement only allows for individuals to install the program on one computer, and for a large company, it would certainly be a hassle for each user to register on my site and download it separately.
I was so excited that they wanted to use it on so many computers in their office. When I went to their website today, I realized they actually have over 150 locations in 41 states and a few international locations!
But as excited as I was, I also feel totally clueless! At first she asked for documentation on our corporate use policy, which I don't have. I didn't exactly want to say this was the first request I've had for corporate use, so I just wrote back and said she had my permission to distribute the software within the company, but that the x months of free support I (actually I think I said "we" since that sounds more like a real company) offer would be counted from when she downloaded the product. I also offered to give them a more specific site license software agreement if she wanted.
So she wrote back to confirm that after the x months were up, they would have to compensate my company for further support, which I confirmed. And was even more excited that they might actually purchase a maintenance agreement at some point.
At that point, I thought we were good, being as clueless as I am. But then she wrote back and indicated that so-and-so would contact me about corporate use. And when so-and-so did contact me, he explained that as a large company, they like to keep copious records on their software license agreements, so he asked me to please send them a site license.
And that was when I opened my book on software contracts (the current version is called Legal Guide to Web & Software Development but I have an older copy) to find a sample site license. I saw a sample that gave license to a business at a specific address, so I went to the company's website and saw how many offices they had, and realized I would have to do something else.
I just told my husband how big this firm is and he said it isn't a site license, it is an enterprise license and thinks I could charge them for it. But I've already indicated that I wouldn't charge them. He commented that support could get out of control, but I pointed out that they had told me that they would funnel all support through their in-house software support team.
This is when it would really help to have a partner who knows business. I may have just lost an opportunity to make some recurring revenue from this company. Live and learn, I guess.
I was so excited that they wanted to use it on so many computers in their office. When I went to their website today, I realized they actually have over 150 locations in 41 states and a few international locations!
But as excited as I was, I also feel totally clueless! At first she asked for documentation on our corporate use policy, which I don't have. I didn't exactly want to say this was the first request I've had for corporate use, so I just wrote back and said she had my permission to distribute the software within the company, but that the x months of free support I (actually I think I said "we" since that sounds more like a real company) offer would be counted from when she downloaded the product. I also offered to give them a more specific site license software agreement if she wanted.
So she wrote back to confirm that after the x months were up, they would have to compensate my company for further support, which I confirmed. And was even more excited that they might actually purchase a maintenance agreement at some point.
At that point, I thought we were good, being as clueless as I am. But then she wrote back and indicated that so-and-so would contact me about corporate use. And when so-and-so did contact me, he explained that as a large company, they like to keep copious records on their software license agreements, so he asked me to please send them a site license.
And that was when I opened my book on software contracts (the current version is called Legal Guide to Web & Software Development but I have an older copy) to find a sample site license. I saw a sample that gave license to a business at a specific address, so I went to the company's website and saw how many offices they had, and realized I would have to do something else.
I just told my husband how big this firm is and he said it isn't a site license, it is an enterprise license and thinks I could charge them for it. But I've already indicated that I wouldn't charge them. He commented that support could get out of control, but I pointed out that they had told me that they would funnel all support through their in-house software support team.
This is when it would really help to have a partner who knows business. I may have just lost an opportunity to make some recurring revenue from this company. Live and learn, I guess.
Saturday, March 29, 2008
Help files
One of the tasks I need to finish up for my public release is to complete my help file. I put together a rudimentary help file for the beta version with just enough topics for each dialog in my application, but I need to better document the program and its functionality.
For my help documentation, I'm using a compiled help file (CHM) which is a common standard for help files. It basically takes a bunch of html files and compiles them into one help document which has a table of contents, index and search feature in a left-hand pane and the content in the right-hand pane.
At my old job, we used RoboHelp to create our chm files. I like RoboHelp. It has a great WYSIWYG ("what you see is what you get") editor and makes creating help files as easy as using Microsoft Word. But... it costs $999. I don't like it that much. I was even considering just creating HTML files for my help topics and opening them in the user's browser so I could avoid paying for a Help authoring tool.
But then I discovered Microsoft's HTML Help Workshop. It's this bare bones utility that does not have a WYSIWYG editor and is not as intuitive to use asRoboHelp, but it is free. And it does everything I need to create a CHM file that I can call from my code to pull up specific topics, as well as create an index and table of contents the way I want.
Since it wasn't intuitive to use, I relied on this great tutorial someone wrote on how to set up a help file for a sample C# application. It gives you the code for the sample application and talks about not only using HTML Help Workshop to create a CHM file that you can call from your application, but also covers other types of help, such as status bar messages and tool tips.
Guess I should get back to actually writing my help documentation rather than writing about it.
For my help documentation, I'm using a compiled help file (CHM) which is a common standard for help files. It basically takes a bunch of html files and compiles them into one help document which has a table of contents, index and search feature in a left-hand pane and the content in the right-hand pane.
At my old job, we used RoboHelp to create our chm files. I like RoboHelp. It has a great WYSIWYG ("what you see is what you get") editor and makes creating help files as easy as using Microsoft Word. But... it costs $999. I don't like it that much. I was even considering just creating HTML files for my help topics and opening them in the user's browser so I could avoid paying for a Help authoring tool.
But then I discovered Microsoft's HTML Help Workshop. It's this bare bones utility that does not have a WYSIWYG editor and is not as intuitive to use asRoboHelp, but it is free. And it does everything I need to create a CHM file that I can call from my code to pull up specific topics, as well as create an index and table of contents the way I want.
Since it wasn't intuitive to use, I relied on this great tutorial someone wrote on how to set up a help file for a sample C# application. It gives you the code for the sample application and talks about not only using HTML Help Workshop to create a CHM file that you can call from your application, but also covers other types of help, such as status bar messages and tool tips.
Guess I should get back to actually writing my help documentation rather than writing about it.
Sunday, March 23, 2008
Installation
I've been working on my installer recently, a task I'm not fond of. In addition to installing files, I need to register a 3rd party type library (don't get me started) and edit a different 3rd party INI file. At my old company, I used Wise Installer to create installations which I found pretty easy to use. But the version I used didn't create MSI files, and for that, we had started to use InstallShield which I hated. It seemed clunky and hard to figure out.
So in keeping with my bootstrapping plan of keeping my costs as low as possible, I decided to try out a Micorosft Visual Studio's setup project since I already own Visual Studio. You can create a setup project similar to the way you create any new Visual Studio project. I can't say it was super easy to use, but with the help of some online resources, I managed to create a pretty good installation, and I think I even understand the whole "Product Code" thing now (which I had a hard time with in InstallShield).
For my purposes, I created separate dll's for editing the INI file and for registering the type library. By using Installer classes in those projects, I'm able to call the code in my dll's from my installation using custom actions. It works great.
Here are some resources I found useful when I was putting my installer together:
A Code Project step-by-step tutorial on creating a setup project
An article on simple-talk using custom actions
FAQ on Windows Installer
So in keeping with my bootstrapping plan of keeping my costs as low as possible, I decided to try out a Micorosft Visual Studio's setup project since I already own Visual Studio. You can create a setup project similar to the way you create any new Visual Studio project. I can't say it was super easy to use, but with the help of some online resources, I managed to create a pretty good installation, and I think I even understand the whole "Product Code" thing now (which I had a hard time with in InstallShield).
For my purposes, I created separate dll's for editing the INI file and for registering the type library. By using Installer classes in those projects, I'm able to call the code in my dll's from my installation using custom actions. It works great.
Here are some resources I found useful when I was putting my installer together:
A Code Project step-by-step tutorial on creating a setup project
An article on simple-talk using custom actions
FAQ on Windows Installer
Wednesday, March 19, 2008
Virtual PC
After I released my beta, I sent it to a friend of mine who is going to be doing some testing for me. The program wouldn't run on her machine. Then I realized - I hadn't tested my program on a non-development machine. I had tried it on my current laptop and my old laptop, but I had been developing on both and had, as it turned out, I had registered a type library I was using. The type library is part of a 3rd party program I am working with and they told me it did not need to be registered, that their program would register it automatically. That was not the case, however, as we verified with a Windows Live Meeting with my friend. So my installation will need to register this file.
Obviously I need to test in more environments. But I have a limited number of computers. So I set up Microsoft's Virtual PC 2007. It's a free program that lets you install multiple copies of Windows operating systems on one computer. Unlike a dual-boot setup, you install the operating systems on a "virtual" PC so that you can open the virtual PC in another window, without having to close your other open applications. (You do have to buy copies of the operating systems you install.)
I installed Virtual PC without any problems and then installed Windows XP on it (the same system my friend has who was having the problem). But I ran into a problem trying to connect to the network from the virtual Windows XP. It didn't seem to see my wireless network card. I spent several hours on it before giving up. But today, I e-mailed a friend of mine who has worked with virtual machines before and he had a solution for me. Now I am all set up and ready to install my program on this virtual machine and see how it goes.
Obviously I need to test in more environments. But I have a limited number of computers. So I set up Microsoft's Virtual PC 2007. It's a free program that lets you install multiple copies of Windows operating systems on one computer. Unlike a dual-boot setup, you install the operating systems on a "virtual" PC so that you can open the virtual PC in another window, without having to close your other open applications. (You do have to buy copies of the operating systems you install.)
I installed Virtual PC without any problems and then installed Windows XP on it (the same system my friend has who was having the problem). But I ran into a problem trying to connect to the network from the virtual Windows XP. It didn't seem to see my wireless network card. I spent several hours on it before giving up. But today, I e-mailed a friend of mine who has worked with virtual machines before and he had a solution for me. Now I am all set up and ready to install my program on this virtual machine and see how it goes.
Monday, March 17, 2008
At home childcare
One of the reasons I started my business from home is that I wanted to keep my son at home, at least for the first couple of years. So in order to work, I hired a college student to nanny 18 hours a week, and later I hired my 16 year old niece to babysit twice a week after school. Between that coverage and my son's naps, I can typically get in 20-30 hours a week.
Unfortunately, last week my niece told me she has too much going on and needs to stop coming. It may not be permanent, but it is indefinite. And Julie, the college student, who watches Aaron is graduating in May and I need to find a replacement for her. I've been procrastinating on that, even though I know I want to have overlap beween her and the next nanny. And last week, she tells me that the company that interviewed her, and to whom I gave her a very good reference, wants her to start part-time before she graduates if they hire her. And they called her back for the "next step" so it looks like they are serious. Meaning I could soon find myself without any childcare in the near future.
So suddenly I need to find someone quickly. We lucked out with Julie. She worked at a local take-out place we frequented when I was pregnant and after Aaron was born, so we had a lot of contact with her before we hired her.
I started looking on craigslist last week, but when I only found a couple of people worth contacting, I looked around and found Care.com, which looks like a great website for finding childcare (or other types of household employees). I signed up for 1 month ($25 + a one time $15 registration fee). If it helps me find someone within the next month, it is worth the $40 I spent. They help pre-screen applicants by not only taking all their relevant information, but they even do phone interviews with their references which you can listen to (or read the transcripts of) before contacting those references on your own. And more importantly, they do background checks which you can access for free with your paid membership. It isn't an extensive background check, but they do verify that their SSN matches the name, they verify the address and they do a criminal background check. And another thing I like about this service is that I can contact someone through the website and they only see my first name and last initial - I don't have to reveal my phone number, e-mail address, or last name unless I am ready to interview someone.
Since Friday, I've spent hours looking at profiles, contacting people, responding to applicants to my job posting, and continuing to search on craigslist. Wish me luck!
When my release is late, you'll know one of the many reasons why.
Unfortunately, last week my niece told me she has too much going on and needs to stop coming. It may not be permanent, but it is indefinite. And Julie, the college student, who watches Aaron is graduating in May and I need to find a replacement for her. I've been procrastinating on that, even though I know I want to have overlap beween her and the next nanny. And last week, she tells me that the company that interviewed her, and to whom I gave her a very good reference, wants her to start part-time before she graduates if they hire her. And they called her back for the "next step" so it looks like they are serious. Meaning I could soon find myself without any childcare in the near future.
So suddenly I need to find someone quickly. We lucked out with Julie. She worked at a local take-out place we frequented when I was pregnant and after Aaron was born, so we had a lot of contact with her before we hired her.
I started looking on craigslist last week, but when I only found a couple of people worth contacting, I looked around and found Care.com, which looks like a great website for finding childcare (or other types of household employees). I signed up for 1 month ($25 + a one time $15 registration fee). If it helps me find someone within the next month, it is worth the $40 I spent. They help pre-screen applicants by not only taking all their relevant information, but they even do phone interviews with their references which you can listen to (or read the transcripts of) before contacting those references on your own. And more importantly, they do background checks which you can access for free with your paid membership. It isn't an extensive background check, but they do verify that their SSN matches the name, they verify the address and they do a criminal background check. And another thing I like about this service is that I can contact someone through the website and they only see my first name and last initial - I don't have to reveal my phone number, e-mail address, or last name unless I am ready to interview someone.
Since Friday, I've spent hours looking at profiles, contacting people, responding to applicants to my job posting, and continuing to search on craigslist. Wish me luck!
When my release is late, you'll know one of the many reasons why.
Subscribe to:
Posts (Atom)